原因 :The Cast method only supports reference and boxing conversions. Use Select instead:
就是说cast<>()方法只支持装箱和拆箱操作,其他强制类型转换不支持。
比如:你要完成以下代码,会抛出异常的:
static void Main(string[] args) { Hashtable st = new Hashtable(); st.Add("a",12); st.Add("b",13); st.Add("c", 14); double sum = st.Values.Cast<float>().Sum(); }
而这样是可以的:
Hashtable st = new Hashtable(); st.Add("a",12f); st.Add("b",13f); st.Add("c", 14f); double sum = st.Values.Cast<float>().Sum();
本文介绍了C#中Cast方法的使用限制,指出其仅支持装箱和拆箱转换,并不适用于所有类型的强制转换。通过具体示例说明了正确使用Cast方法的方法及替代方案。
10万+

被折叠的 条评论
为什么被折叠?



