| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 6059 人关注过本帖
标题:不明白"使用了未赋值的局部变量"
只看楼主 加入收藏
Theron
Rank: 1
等 级:新手上路
帖 子:127
专家分:0
注 册:2006-9-23
收藏
得分:0 
楼上说的有道理, 应该是这样吧

2006-10-06 21:11
huangyajun
Rank: 1
等 级:新手上路
帖 子:78
专家分:0
注 册:2006-5-14
收藏
得分:0 
C#本身就是一个纯面向对象的语言,所心在定义对象时要对其进行实例化.比如:
    form myForm=new form();
你要写成form myForm;
就开始用那是一定不行的,
Form myForm只是定义但并没有实例化,
在C#中简单变量其实也是一个对象,给它赋值
就好像对它进行实例化.
我建议你在定义sting 变量时都把它赋值为null;
string str=null;
用C#编程一定要对新定义的任何类型变量进行赋值或实例化.

MyE-mail:hyj19851103@ 相互交流,相互学习
2006-10-07 13:15
yangglemu
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:273
专家分:521
注 册:2006-9-15
收藏
得分:0 
lastName += fullName[i];
问题就在你的+号。
如果lastName事先没有赋值的话,你想想能+吗?
这个问题是违反了C系语言的先赋值,再运算的原则。
有的语言如果你不赋值,系统会自动赋初值,对于这样的语言不会产生你这样的问题,但这样的语言对于容易疏忽的人不太适合

试着挣个威望!
2006-10-08 18:11
OneHunter
Rank: 2
等 级:论坛游民
帖 子:25
专家分:26
注 册:2010-10-28
收藏
得分:0 
声明,偶也是个初学者(菜鸟)
打了几个程序,发现了几个有意思的问题
比如声明数组  int[] a =new int[40]{1,1};   这个是错误的,如果通过排列类型来声明一个初始化列表对象,必须对其中所有元素进行初始化
也就是说  int[] a=new int[3] {1,1,1};   就没问题了
 参考网页http://msdn.(VS.80).aspx
还有 声明变量
int a;
int b=1;
if(b>0)
  a=b;  
      像这样也是错误的,因为受C#的语言规范限制;将对a的赋值语句放在了if语句中,在管理器看来,就是有可能不被执行(尽管它会被执行),所以报错,提示使用了未被赋值的局部变量a   
呵呵,第二点没找到参考资料,是在网上看到的发言总结的。。。  不知道对不对。  
上面自己一点看法,分享一下。

我还好~!
2011-04-06 14:34
快速回复:不明白"使用了未赋值的局部变量"
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.026046 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved