【发布时间】:2019-03-10 22:37:40
【问题描述】:
我想通过其中一个变量“n_common”来排序对象数组,这给了我错误:
你不能在类型数组中转换 Lambda 表达式,因为不是 类型委托。
cartesian_product.Sort((a, b) => -1 * a.n_common.CompareTo(b.n_common));
我想对包含 3 个变量“p”、“q”和“n_common”的“Pair”对象进行降序排序,它应该按“n_common”排序,cartesian_product 是 Pair 对象的数组。
我不是只使用 Lambda 表达式来使用 Linq,或者至少我是这样理解的
【问题讨论】:
-
不,因为我不是只使用 Lambda 表达式来使用 Linq,或者至少我是这样理解的
-
cartisian_product 的类型是什么?你希望你的 lambda 做什么。我相信 Sort 期望一个委托,它接受集合正在收集的类型的实例并返回一个可以排序的值。像
people.Sort(p => p.Age)这样的东西会接受一个人的集合(在一个变量 people 中并按年龄对他们进行排序。在你的情况下,委托指定一个接受两个参数的函数)。
标签: c#