如何检查多维数组行是否包含非零值

本文关键字:数组 是否 包含 非零值 何检查 检查 | 更新日期: 2023-09-27 18:20:06

这只是一个关于C#中多维数组的简短问题。

如何检查多维数组的一行是否包含非零值?在Matlab中,"any"-命令正是我所需要的。

最后,我需要将请求置于一段时间内。Matlab中的平均值:while(any(array[1,2,:]))-->这意味着:while。。。

我已经尝试过Array.Exists()或Array.Find(),但它似乎只适用于一维数组。

感谢

如何检查多维数组行是否包含非零值

您有几个选项

myMultiArray.Any(row => row.Contains(Something));

或作为Sriram Sakthvel建议的

foreach(var row in myMultiArray)
    if(row.Contains(Something)
        //Found it!
foreach(var row in myMultiArray)
    if(row.IndexOf(Something) >= 0)
        //Found it!

更具体地说,你的问题

myMultiArray.Any(row => row.Any(cell => cell != 0));
foreach(var row in myMultiArray)
    foreach(var cell in myMultiArray)
        if(cell != 0)
            //Found it!
for(int i = 0; i < array.GetLength(0); i++)
    for(int j = 0; j < array.GetLength(1); j++)
         if(array[i,j] != 0)
             //Do Something

MSDN信息

任何

包含

索引