码迷,mamicode.com
首页 > Web开发 > 详细

VS2010环境下.NET4.0中Tuple<T>的一个小BUG问题

时间:2015-04-12 14:44:30      阅读:196      评论:0      收藏:0      [点我收藏+]

标签:

启动一个桌面程序后,发现一个窗体cfdata=null, 执行时发生错误, 但是在初始化的时候,我明明是cfdata=new Cfdata();为什么会出现这个错误呢.

我开始跟踪,发现当执行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作为一个新的类, 还存在一些小问题没有完善吧!

 

VS2010环境下.NET4.0中Tuple<T>的一个小BUG问题

标签:

原文地址:http://www.cnblogs.com/flyant/p/4419458.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!