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



我正在使用WMI,它为我提供了一个ManagementCollectionObject,其中包括不同类型的对象集合,例如字符串,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);
    }
}

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

您可以使用Type.IsArray

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

最新更新