(new[]{1,2,3}).Cast<decimal>();
结果是
InvalidCastException: Specified cast is not valid.
请改用:
(new[]{1,3}).Select(x => (decimal)x)
请注意,在.NET 3.5 SP1之前,Cast比现在做了更多的转换.我不知道它是否会起作用,但现在肯定不行.