C# 如何检查多维数组行是否包含非零值
只是一个关于C#中多维数组的简短问题 如何检查多维数组的一行是否包含非零值? 在Matlab中,“any”-命令正是我所需要的 最后,我需要将请求放入一个while条件。Matlab中的平均值:while(任意(数组[1,2,:])-->,这意味着:while(行的任何条目都不是零) 我已经尝试了Array.Exists()或Array.Find(),但它似乎只适用于一维数组C# 如何检查多维数组行是否包含非零值,c#,multidimensional-array,while-loop,row,C#,Multidimensional Array,While Loop,Row,只是一个关于C#中多维数组的简短问题 如何检查多维数组的一行是否包含非零值? 在Matlab中,“any”-命令正是我所需要的 最后,我需要将请求放入一个while条件。Matlab中的平均值:while(任意(数组[1,2,:])-->,这意味着:while(行的任何条目都不是零) 我已经尝试了Array.Exists()或Array.Find(),但它似乎只适用于一维数组 谢谢你有几个选择 myMultiArray.Any(row => row.Contains(Something))
谢谢你有几个选择
myMultiArray.Any(row => row.Contains(Something));
或者像斯里拉姆·萨基维尔建议的那样
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
myMultiArray.Any(row=>row.Any(cell=>cell!=0));
foreach(myMultiArray中的变量行)
foreach(myMultiArray中的var单元格)
如果(单元格!=0)
//找到了!
for(int i=0;i
MSDN信息
请显示一些代码?我想知道数组的类型?只需一个
foreach
和if语句就足够了。谢谢你的回答。。。实际上,Any命令会很好,但我不能使用它,因为我生成了一个int[,]数组。我可以利用每种可能性。如果我想使用C#Any命令,我必须使用List,对吗?别担心,希望如此helps@Krus-Any命令适用于IEnumerable,而它是,因此不,您不需要将List与一维数组一起使用,但只要我将数组更改为int[,]数组,我不能再使用Any命令了…@Krus-我之前对二维数组和多维数组感到困惑(现在喝了杯咖啡!)我附加了一些代码,这些代码应该可以满足您的需要(没有linq)