2014-07-08 88 views
2

我是C#的新手。我在C#中有一個對象,如何檢查它是單個還是多維數組?C#如何檢查對象是否是多維數組

int[,] array = new int[2,3]; 
object obj = (object) array; 
if(obj is Array) 
{ 
    if(obj.Rank==2) // I need to cast obj to array first in order to call Rank 
    { 
     //do something 
    } 
} 

回答

2

有兩種主要方法可以實現這一點。無論是castingobjArray如你所說:

if(obj is Array && ((Array)obj).Rank == 2) 
{ 
    //do something 
} 

或者使用as operator

var arr = obj as Array; 
if(arr != null && arr.Rank == 2) 
{ 
    //do something 
} 

注意,在這兩種方案中,我結合在一起使用conditional AND operator兩個if的(&&)爲簡單起見。如果左手側的評估結果爲true,這將僅評估此右側。

+0

謝謝!剛剛意識到我可以將它轉換爲Array而不是int []或int [,] – user2391685

相關問題