我收到一个指定的强制转换错误,试图返回一个整数,示例代码如下:
results = pipeline.Invoke();
foreach (PSObject ps in results)
{
int diff = 0;
Int32 exchcount = Convert.ToInt32(ps.Members["itemcount"].Value);
diff = itemcount - exchcount;
}
我试图找出数据类型是什么,如果对于Get-Mailboxstatistics的itemcount但我找不到信息,我认为它是Int,我已经尝试了字符串,但这也不起作用。任何想法,请告诉我!
由于 史蒂夫
答案 0 :(得分:0)
您可以在foreach循环中放置断点并查看ps.Members["itemcount"].Value
的类型(例如,您可以在立即窗口中执行ps.Members["itemcount"].Value.GetType()
。)
答案 1 :(得分:0)
您获得的错误是foreach
循环。变量ps
声明为PSObject
类型,而results
可能是其他东西(对象数组的类型不正确)。查看results
变量的类型。
答案 2 :(得分:0)
我不认为这是foreach语句,如果我使用像'DisplayName'这样的字符串类型值cmd值它可以工作..仅对于值/ int类型它似乎失败。我会尝试检查断点以查看值类型..
谢谢! ST