繁体   English   中英

C#如何检查对象是否是多维数组

[英]C# How to check if an object is a multi-dimensional array

我是C#的新手。 我在C#中有一个Object,如何检查它是单个还是多维数组?

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组合在一起使用条件AND运算符&& )。 如果左侧评估为true则仅评估此右侧。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM