我有一個名爲person的類,其中有一個名爲name的字符串和一個名爲wins的int。然後我有一個名爲「PS4」的人名單。我想要以勝利最多的人來訂購ps4名單。使用代理對列表排序
這似乎不起作用。
PS4.Sort(delegate(Person c1, Person c2) { return c1.Wins.CompareTo(c2.Wins); });
是代表權嗎?還是我需要使用orderby或其他東西?
我有一個名爲person的類,其中有一個名爲name的字符串和一個名爲wins的int。然後我有一個名爲「PS4」的人名單。我想要以勝利最多的人來訂購ps4名單。使用代理對列表排序
這似乎不起作用。
PS4.Sort(delegate(Person c1, Person c2) { return c1.Wins.CompareTo(c2.Wins); });
是代表權嗎?還是我需要使用orderby或其他東西?
這是正確的,你可以用拉姆達語句簡化一下:
PS4.Sort((c1,c2) => c1.Wins.CompareTo(c2.Wins));
使用:
PS4 = PS4.OrderBy(z=> z.wins).ToList();
請注意,這會創建另一個第二個List對象。 List.Sort()避免創建另一個List對象,因此更可取。 – elgonzo
你的意思是在這段代碼之後,PS4仍然未排序? – user3185569
您的答案適用的相關性取決於特定的應用程序代碼。您將一個新的列表分配給PS4 **變量**。原始列表對象(可以在代碼中的其他地方引用)未被排序。 – elgonzo
嗯,它沒有似乎下令對我來說。 –
爲什麼?你嘗試過嗎? –