How to compare multidimensional arrays in C# ?

前端 未结 4 922
伪装坚强ぢ
伪装坚强ぢ 2020-12-30 23:47

How to compare multidimensional arrays? Just true/false.

double[,] data1 = new double[,] { { 1, 2 }, { 3, 4 }, { 5, 6 }, { 7, 8 } };    
double[,] data2 = ne         


        
4条回答
  •  陌清茗
    陌清茗 (楼主)
    2020-12-31 00:27

    A multidimensional array can be used in linq as one dimensional enumerable. You just need to check also for the length of all dimensions. This snippet should be enough:

    var equal =
        data1.Rank == data2.Rank &&
        Enumerable.Range(0,data1.Rank).All(dimension => data1.GetLength(dimension) == data2.GetLength(dimension)) &&
        data1.Cast().SequenceEqual(data2.Cast());
    

提交回复
热议问题