c#如何检查一个对象是否是多维数组

本文关键字:是否是 一个对象 数组 检查 何检查 | 更新日期: 2023-09-27 18:11:58

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

c#如何检查一个对象是否是多维数组

有两种主要方法可以实现此目的。按照您的建议将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时,才会计算右边的值