Ron*_*rby 6 .net c# linq casting
为什么这样:
(new[]{1,2,3}).Cast<decimal>();
Run Code Online (Sandbox Code Playgroud)
结果是
InvalidCastException:指定的强制转换无效.
Jon*_*eet 11
是的,Cast
不这样做.基本上它只是引用转化和拆箱转换 - 而不是不同值类型之间的转换.
请改用:
(new[]{1,2,3}).Select(x => (decimal)x)
Run Code Online (Sandbox Code Playgroud)
请注意,在.NET 3.5 SP1之前,它比现在Cast
做了更多的转换.我不知道它是否会起作用,但现在肯定不行.
归档时间: |
|
查看次数: |
145 次 |
最近记录: |