Получих следната заявка
IEnumerable<string> values = from first in goodOrdered
join second in badOrdered on first.ToLower() equals
second.ToLower()
select second;
В момента моите тестове показват, че крайният резултат евсъщност доброто, както го искам. Мога ли да очаквам, че това винаги е вярно, или трябва да подам заповед чрез изявление, което ще принуди да задържи добре поръчаната поръчка (това ще направи заявката по-сложна, тъй като goodOrdered може да изглежда като 1, 9, 2, 7, 6)?
Отговори:
9 за отговор № 1Да, така е. Според Документация за MSDN:
Присъединяването запазва реда на елементите на външния и за всеки от тях тези елементи, редът на съответстващите елементи на вътрешния.
Разбира се, ако не е посочено вдокументацията ще бъде съвсем различен въпрос. Друг проблем, който може да помислите, са разработчиците, които ще отговарят за запазването на кода и дали бихте очаквали от тях да знаят / запомнят, че договорът за присъединяване включва запазване на реда на външната последователност ...