所以我有一個被稱爲myDeliverableList.Orderby在C#中第一排序依據數字,甚至ASC那麼相同數量的奇數decending
myDeliverable
包含對象稱爲Buyer
名單。 買家有string street
和int housenumber
現在我要訂購首先由街道按字母順序排列,然後由門牌號被甚至從0,1,2,3..n上升,然後是奇數decending的housenumbers 。所以輸出應該是這樣的:
AAstreet 2
AAstreet 10
AAstreet 12
AAstreet 20
AAstreet 13
AAstreet 9
AAstreet 1
BAstreet 4
BAstreet 8
BAstreet 3
(...)
所以我寫了follwing:
myDeliverables = myDeliverables
.OrderBy(x => x.Buyer.Street)
.ThenBy(x => x.Buyer.Housenumber).Where(x => x.Buyer.Housenumber % 2 == 0) // even
.ThenBy(x => x.Buyer.Housenumber).Where(x => x.Buyer.Housenumber % 2 != 0) // odd
.ToList();
VS吉文斯我有錯誤.ThenBy(x => x.Buyer.Housenumber
說着什麼東西沒有一個.ThenBy方法。我假設我不得不在最後做些什麼..不知道該怎麼做,以前沒有用過linq。
非常感謝,但納悶,爲什麼不呢? 'myDeliverables = myDeliverables .OrderBy(X => x.Buyer.Street) .ThenBy(X => x.Buyer.Housenumber%2 == 0) .ThenByDescending(X => x.Buyer.Housenumber% 2!= 0) .ToList();' 這是一樣的權利? – ganjan 2013-04-27 16:22:58
@ganjan這是不一樣的。 ** 1)**'。ThenBy(x.Buyer.Housenumber%2 == 0)'將按奇偶性排序,但首先是奇數(因爲在排序時false
2013-04-27 16:49:55