You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在ILNumerics中如何基于多个条件筛选数组中的行

多条件数组行筛选的正确实现

报错原因

你使用的是支持full切片语法的C#数值计算库(如MathNet.Numerics)的索引规则,多条件组合时不能使用C#原生短路逻辑运算符:

  • 原生&&是短路逻辑与,仅能返回单个布尔值,无法对两个逐元素判断生成的布尔数组做按位置的与运算,因此触发编译错误
  • 多条件组合需要改用逐元素逻辑运算符,同时每个独立条件要用括号包裹,避免运算优先级混乱

修正后的代码

Array<double> A = new double[,] {
    { 1, 9, 20 },
    { 2, 11, 21 },
    { 9, 12, 21 },
    { 9, 13, 23 },
    { 9, 14, 24 },
    { 10, 12, 21 },
    { 14, 13, 23 },
    { 16, 14, 24 },
    { 19, 12, 21 },
    { 27, 13, 23 },
    { 23, 14, 24 },
    { 6, 15, 25 }
};

Array<double> matching = 
    A[(A[full, 0] % 3 == 0) & (A[full, 1] > 10), full];

扩展规则

如果需要添加更多筛选条件,遵循以下规则即可:

  • 每个独立筛选条件用括号包裹
  • 逐元素逻辑与用&、逐元素逻辑或用|、逐元素逻辑非用!

内容的提问来源于stack exchange,提问作者user17352413

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 20:45:09