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

时间:2011-05-16 09:24:21

标签: c# arrays wmi

我正在使用WMI,它为我提供了一个ManagementCollectionObject,它包含不同类型的对象集合,如string,int64,int数组,字符串数组等。

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

我如何区分属性的值是否为数组?

1 个答案:

答案 0 :(得分:4)

您可以使用Type.IsArray

if(queryObj["AvailableJobSheets"].GetType().IsArray)
    // It's an array