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
    }
}

有两种主要方法可以实现此目的。按照您的建议将obj转换为Array:

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

或者使用as运算符:

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

注意,在这两个解决方案中,为了简单起见,我使用条件与操作符(&&)将两个if组合在一起。只有当左边的值为true时,才会计算右边的值

相关内容

  • 没有找到相关文章

最新更新