【发布时间】:2018-01-18 17:30:31
【问题描述】:
如果我可以将整数值隐式转换为双精度值,例如:
int a = 4;
double b = a;
// now b holds 4.0
为什么我不能这样做:
int[] intNumbers = {10, 6, 1, 9};
double[] doubleNumbers2 = intNumbers.Cast<double>().ToArray();
我收到“指定的演员表无效”InvalidCastException 异常。
做相反的事情(从 double 转换为 int)会导致同样的错误。
我做错了什么?
【问题讨论】:
-
“反之亦然”的迂腐小点——从双精度到整数的转换是显式的,而不是隐式的。
-
删除了这个“迂腐”的观点。谢谢
标签: c# casting ienumerable