关于C#中多维数组的简短问题。
如何检查多维数组的一行是否包含非零值? 在Matlab中,“any”命令完全符合我的需要。
最后,我需要将请求置于while条件下。 Matlab中的均值:while(any(array [1,2,:])) - >这意味着:while(任何行的入口不是零)......
我已经尝试过Array.Exists()或Array.Find()但它似乎只适用于一维数组。
由于
答案 0 :(得分:1)
你有几个选择
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信息