c# - 在 c# 中使用 lambda 降序排列数组
问题描述
我想通过其变量“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,或者至少我是这样理解的,我将 linq 放在标题中,问题继续
解决方案
Sort
是一个静态方法,所以它必须从类Array
而不是实例中调用。尝试这个:
Array.Sort(cartesian_product, (a, b) => -1 * a.n_common.CompareTo(b.n_common));
推荐阅读
- android - 如何将一种语言资源文件用于多种语言?
- jenkins - 无法从 Mac 连接到 CentOS VM -(设置 Jenkins 管道)
- twig - Twig 不会替换子模板中的块
- html - 是否有一种简单的解决方案可以快速解析 html 以将单个元素放入自己的变量中?
- flutter - NoSuchMethodError:在 null 上调用了 getter 'cls'
- excel - 如何使用 VBA Excel“另存为”特定范围?
- templates - 如何输出动态嵌套的项目符号列表?
- sql - 为 Elasticsearch Sql 生成 Java Sql
- oracle - ora-00907 子查询中缺少右括号
- php - 如果值是变量而不是字符串,为什么 PHP in_array() 返回 false?