繁体   English   中英

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

[英]How to check if multidimensional array row contains non-Zero value

关于C#中的多维数组的简短问题。

如何检查多维数组的一行是否包含非零值? 在Matlab中,“ any”命令完全可以满足我的需求。

最后,我需要将请求放入一会儿条件。 在Matlab中的意思是:while(any(array [1,2 ,:]))->的意思是:while(行中的任何条目都不为零)...

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

谢谢

你有几个选择

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

或根据Sriram Sakthivel的建议

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信息

任何

包含

指数

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM