Yur*_*a G 24 c# arrays compare multidimensional-array
如何比较多维数组?只是真/假.
double[,] data1 = new double[,] { { 1, 2 }, { 3, 4 }, { 5, 6 }, { 7, 8 } };
double[,] data2 = new double[,] { { 1, 2 }, { 3, 4 }, { 5, 6 }, { 7, 8 } };
//bool compare = data1.SequenceEqual(data2);
Run Code Online (Sandbox Code Playgroud)
有没有办法比较2d数组像1d数组?
data1.SequenceEqual(data2);
Run Code Online (Sandbox Code Playgroud)
我必须比较每一秒,所以最简单的方法将是伟大的.非常感谢.
use*_*107 28
多维数组可以在linq中用作一维可枚举.您只需要检查所有尺寸的长度.这个片段应该足够了:
var equal =
data1.Rank == data2.Rank &&
Enumerable.Range(0,data1.Rank).All(dimension => data1.GetLength(dimension) == data2.GetLength(dimension)) &&
data1.Cast<double>().SequenceEqual(data2.Cast<double>());
Run Code Online (Sandbox Code Playgroud)