我有一个报告界面,最终用户可以根据返回的报告的排序顺序选择多个字段.我遇到的问题是我无法真正链接OrderBy/ThenBy方法,因为我正在迭代排序字段列表.我在想这样的事情:
foreach (string sort in data.SortParams)
{
switch (sort)
{
case "state":
query = query.ThenBy(l => l.RegionCode);
break;
case "type":
query = query.ThenBy(l => l.Type);
break;
case "color":
query = query.ThenBy(l => l.Color);
break;
case "category":
query = query.OrderBy(l => l.Category);
break;
}
}
Run Code Online (Sandbox Code Playgroud)
(注意:为了简单起见,我已经删除了开关,确定这是否是第一个排序项.)
有关如何迭代集合以确定排序顺序的任何想法?
我有以下列表:
public class Address{
public string Number { get; set; }
public string Street { get; set; }
public string Suburb { get; set; }
}
List<Address> MyAddressList = new List<Address>();
Run Code Online (Sandbox Code Playgroud)
而我想要做的是按郊区和街道排序此列表.我已经看到我可以按其中一个属性排序(在这种情况下是郊区):
MyAddressList = MyAddressList.OrderBy( x => x.Suburb ).ToList();
Run Code Online (Sandbox Code Playgroud)
但我想按郊区然后街道排序.谢谢