2012-09-16 13 views
18

बहुआयामी सरणी की तुलना कैसे करें? बस सच/झूठा।सी # में बहुआयामी सरणी की तुलना कैसे करें?

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); 

1 डी सरणी जैसे 2 डी सरणी की तुलना करने का कोई तरीका है?

data1.SequenceEqual(data2);  

मुझे हर दूसरे की तुलना करना है, तो सबसे आसान तरीका बहुत अच्छा होगा। बहुत बहुत धन्यवाद।

उत्तर

21

लिनक में एक बहुआयामी सरणी का उपयोग एक आयामी गणना के रूप में किया जा सकता है। आपको बस सभी आयामों की लंबाई के लिए भी जांच करने की आवश्यकता है। यह टुकड़ा पर्याप्त होना चाहिए:

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>()); 
+2

* महान * जवाब कर सकते हैं। – Daniel

+0

@ user287107 हां, ठीक वही है जो मैं ढूंढ रहा हूं! आपका बहुत बहुत धन्यवाद! –

-3

आप इस

data1.SequenceEqual(data2); 
+2

बहुआयामी सरणी में 'अनुक्रमिक' के लिए परिभाषा नहीं है। मेरा मानना ​​है कि यही कारण है कि लेखक अपने प्रश्न का उत्तर ढूंढ रहे थे। – rusxg