可能重复:
LINQ:orderby 与动态字符串参数
我正在使用 OrderBy() 子句对 IEnumarable 进行排序。我有一个字符串列表,其值包含我想要排序的字段。现在我为每个属性名称使用一个 switch 语句。
swich (propertyname)
case "name":
list = list.OrderBy(l=>l.name).ToList();
break;
case "property":
list = list.OrderBy(l=>l.property).ToList();
.....
有没有简单的解决方案在 orderby 子句中使用字符串“propertyname”作为属性?
正如我所做的那样,我得到了一个远非理想的解决方案。不仅对每个属性进行编码需要更多的工作,而且如果将来添加任何属性,此更新将在我正在编写的函数中被遗忘。
希望有人有更好的解决方案。