我想使用linq重新排列這個列表,但重新排序的列表務必與原始列表的類型相同(不是愚蠢的「var =」),並且「order by」被提供爲STRING(不正常OrderBy類型安全)。如何使用linq使用orderBy字符串重新排序列表的列表?
public class People{
public string Name { get; set; }
public int Age { get; set; } }
List<People> lst = new List<People>();
People p = new People();
p.Name = "AAA";
p.Age = 10;
lst.Add(p);
p = new People();
p.Name = "XXX";
p.Age = 5;
lst.Add(p);
List<People> orderedListByAge = lst.SomeSort("Age");
List<People> orderedListByName = lst.SomeSort("Name");
你不明白'var'是什麼?同時顯示你到目前爲止所做的。這是免費的代碼寫作網站。請參閱http://stackoverflow.com/help/how-to-ask和http://stackoverflow.com/help/mcve – bc004346
_(沒有愚蠢的「var =」)_你爲什麼如此反對這個想法這種類型的短手?我不在乎linq查詢產生的數據類型,但它做了什麼。我的意思是,在每個查詢中使用.ToList()都不是linq的懶惰本質,也不會使查詢更容易。 – Mafii
「var =」是愚蠢的,因爲1)記住我的無類型代碼,如可怕的語言JavaScript和視覺狐狸親。 2)在「var =」之後,如果您需要以輸入方式使用結果集,則需要投射。 3)在很多情況下,代碼的可讀性較差。例如:var = MyMethod()。您需要檢查方法的返回值以瞭解發生了什麼。 4)提醒我指點。我努力避免在代碼中使用「var =」。有很多方法可以使編碼更容易。根據我的愚見,「var =」不是其中之一。 – Freddy