ComboBox cb = sender as ComboBox;int valIDSelection = Convert.ToInt32(cb.Tag);if (cb.Selectedindex != valIDSelection) { cb.Selectedindex = valIDSelection;}
…但是这个:
ComboBox cb = sender as ComboBox;int valIDSelection = (int)cb.Tag; // <-- failsif (cb.Selectedindex != valIDSelection) { cb.Selectedindex = valIDSelection;}
…错误输出“对象未设置为对象的引用”?
解决方法 那是因为 a conversion is not the same thing as a cast.cb.Tag可能是一个字符串,而不是一个int,一个不能直接转换为另一个. Convert.ToInt32()实际上解析字符串并使用转换后的值创建一个新的int.
强制转换仅尝试将类型的实例解释为另一种类型的实例.
总结以上是内存溢出为你收集整理的c# – 为什么我可以安全地转换为int而不是转换为int?全部内容,希望文章能够帮你解决c# – 为什么我可以安全地转换为int而不是转换为int?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)