VS2010环境下.NET4.0中Tuple<T>的一个小BUG问题
2015-04-12 14:13
344 查看
启动一个桌面程序后,发现一个窗体cfdata=null, 执行时发生错误, 但是在初始化的时候,我明明是cfdata=new Cfdata();为什么会出现这个错误呢.
我开始跟踪,发现当执行cfdata=new Cfdata()时, 执行被中断, 后面的代码没有执行, 但是VS2010没有报错, 也就是执行到cfdata=new Cfdata()时发生了错误!但是VS2010没有提示我!
继续调试跟踪,问题出现了以下代码,使用了未赋值的Tuple<T1,T2>的成员值, 而VS2010并没有捕获到该错误提示我:
只是很奇怪,string sc = Spath.Item1 + Spath.Item2;既然这里使用了未赋值的成员值,为什么VS2010执行到这里不能给出提示呢,如果直接给提示,那么我第一步就知道错误在哪里,而不必一步步地调试寻找, 或许,Tuple作为一个新的类, 还存在一些小问题没有完善吧!
我开始跟踪,发现当执行cfdata=new Cfdata()时, 执行被中断, 后面的代码没有执行, 但是VS2010没有报错, 也就是执行到cfdata=new Cfdata()时发生了错误!但是VS2010没有提示我!
继续调试跟踪,问题出现了以下代码,使用了未赋值的Tuple<T1,T2>的成员值, 而VS2010并没有捕获到该错误提示我:
public Tuple<string,string,string> Spath; public PersonAll() { string sa = ME.RnowFolder(1, 1); string sb = ZCspathasm20150407; //这里还没有对Spath赋值,就使用了它的成员值,所以肯定有错,但是VS2010并没有报错,而是执行到这里终止,使得该对象无法实例化,同时使得包含PersonAll实例的对象也无法实例化,使得最外面的cfdata也无法完成实例化,所以虽然执行了cfdata=new Cfdata();但是cfdata依然为null. string sc = Spath.Item1 + Spath.Item2; Spath = new Tuple<string, string, string>(sa, sb, sc); }
只是很奇怪,string sc = Spath.Item1 + Spath.Item2;既然这里使用了未赋值的成员值,为什么VS2010执行到这里不能给出提示呢,如果直接给提示,那么我第一步就知道错误在哪里,而不必一步步地调试寻找, 或许,Tuple作为一个新的类, 还存在一些小问题没有完善吧!
相关文章推荐
- java环境变量中的一个Bug还是系统的问题
- 发现一个问题,可能是Sql Express 2005的Bug
- 一个困扰我半天的问题解决了,java环境真的很难配置
- eclipse 3.5 配置C++环境的一个隐蔽问题
- 一个拼图工具的制作思路 - 回复 "AlwaysBug" 的问题
- 发现 VS2010 RC 一个小 BUG
- 今天遇到一个关于STL中排序的问题, 怀疑是sort的bug!
- (转)升级vs2010我碰到的一个问题,以及解决方法
- 跪求,在线等,一个关于WISE打包写环境变量的问题.很急
- VC6环境下RichEdit2.0的一个乱码问题
- 升级vs2010我碰到的一个问题,以及解决方法
- .net1.1中 整除结果不一至的问题.这应该是.NET1.1的一个bug.
- 发现微软VS工具的一个问题,不知算不算是BUG
- 开发环境转到Ubuntu上面,另附ruby在其上的一个问题
- 一个环境变量设置导致????的小问题
- 关于DropDownList的一个问题(很想说是BUG)
- 瞎猫碰死老鼠:在ASP里面发现的一个问题,是不是BUG呢?
- 自动提交问题,不知道这算不算是MS的一个BUG
- Select在IE7中的一个bug,多个Select互相重叠的问题
- 升级vs2010我碰到的一个问题,以及解决方法