如何区分引用是指向数组还是指向单个值?

问题描述

| 我正在使用WMI,它为我提供了一个ManagementCollectionObject,其中包括不同类型的对象的集合,例如字符串,int64,int数组,string数组等。 WMI代码生成器为单个值和数组值生成不同的代码。如下:
// getting single value
Console.WriteLine(\"Availability: {0}\",queryObj[\"Availability\"]);


// getting single array value
if(queryObj[\"AvailableJobSheets\"] == null)
   Console.WriteLine(\"AvailableJobSheets: {0}\",queryObj[\"AvailableJobSheets\"]);
else
{
    String[] arrAvailableJobSheets = (String[])(queryObj[\"AvailableJobSheets\"]);
    foreach (String arrValue in arrAvailableJobSheets)
    {
        Console.WriteLine(\"AvailableJobSheets: {0}\",arrValue);
    }
}
如何区分属性的值是否为数组?     

解决方法

您可以使用
Type.IsArray
if(queryObj[\"AvailableJobSheets\"].GetType().IsArray)
    // It\'s an array