说我有下面的代码:
dynamic myData = GetMyData();
foreach(dynamic d in myData.data)
{
Console.WriteLine(d.name);
}
如何按字母顺序写出所有名称?如果我使用的是
List<MyClass>
之类的东西,我只会使用myData.OrderBy(t => t.name)
,但是当我使用动态类型时,这似乎不起作用。关于如何订购这些值的任何建议?
最佳答案
Enumerable.OrderBy(myData, (Func<dynamic, dynamic>)(t => t.name));
那应该返回与
myData.OrderBy(t => t.name)
通常相同的结果。由于
OrderBy
是扩展方法,因此不适用于动态类型。请参见this answer。
关于c# - 可以订购动态类型吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10857776/