/ / Is Linq към обекти се присъединява към по подразбиране, посочен, когато не се използва поръчка? - c #, .net, linq, linq-to-objects

Съвместим ли е Linq с предметите по подразбиране, указани, когато не се използва поръчка? - c #, .net, linq, linq-to-objects

Получих следната заявка

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:

Присъединяването запазва реда на елементите на външния и за всеки от тях тези елементи, редът на съответстващите елементи на вътрешния.

Разбира се, ако не е посочено вдокументацията ще бъде съвсем различен въпрос. Друг проблем, който може да помислите, са разработчиците, които ще отговарят за запазването на кода и дали бихте очаквали от тях да знаят / запомнят, че договорът за присъединяване включва запазване на реда на външната последователност ...