であるリスト内のアイテムを操作していますSystem.Management.ManagementObjectCollection
。これらの各項目は、System.Management.ManagementObject
文字列でインデックス付けされたプロパティを含む です。見る:
foreach (ManagementObject queryObj in searcher.Get())
{
string osversion = (string)queryObj["Version"];
string os = (string)queryObj["Name"];
uint spmajor = (uint)queryObj["ServicePackMajorVersion"];
uint spminor = (uint)queryObj["ServicePackMinorVersion"];
...
...
...
}
各「辞書アクセス」は、実際にはプロパティが想定されているものでqueryObj
ある C# を返しますobject
。「実際の」型を事前に知っておく必要がありますが、それで問題ありません。
問題は、キャストに a が含まInvalidCastException
れていることです。uint
実数型を使用する必要がありushort
ます。ushort
fromのキャストはuint
受け入れられ、明白であるべきではありませんか?
この場合、最終的に値を に変換しますがstring
、それらをuint
またはint
またはlong
変数に取得する必要がある場合はどうなるでしょうか。