C#中,在声明一个变量时不赋值和声明一个变量时赋值,有什么区别?这个变更在下一行代码就用了的。

比如,①:stringa="";a="test";Test(a);②:stringa="test";Test(a)这两种有没有什么区别。... 比如,
①:string a="";
a="test";
Test(a);
②:string a="test";
Test(a)
这两种有没有什么区别。
展开
 我来答
邵钱伟
2013-06-18 · TA获得超过217个赞
知道小有建树答主
回答量:250
采纳率:0%
帮助的人:181万
展开全部
当然有区别,比如

赋值的话变量里面就会有值,而不赋值,只是开辟了这么一个空间,里面放的东西是什么就不知道了,会造成你程序出错。
比如
int a,b,c;
c=a+b;
这个时候你根本不知道a和b里面是什么值,直接用来使用,当然C 自然也会得到无用的结果。
变量一般都会要求先赋值后使用
int a=1,b=2,c;
c=a+b;
或者
int a,b,c;
a=1;
b=2;
c=a+b;
这样就可以了。
当然这个只是简单的情况,你可能会说自己会这么傻么,但是随着程序复杂程度的提高,加入循环,各类变量的增多,那么如果没有养成良好的习惯,就会导致你可能在最后把一些变量忘记赋值最后得到了错误的就结果
追问
不是,我是想问,
①:string a="";
a="test";
Test(a);
②:string a="test";
Test(a)
这两种有没有什么区别。
追答
这2个没区别,都可以满足条件。就好比
string a="";
a=“111”;
a=“ddd”;
a="test";
中间变换多少次,最后结果还是一样的。。。除非你在中途插入其他的步骤
leiyangbdwk
2013-06-18 · TA获得超过3295个赞
知道大有可为答主
回答量:4975
采纳率:12%
帮助的人:4389万
展开全部
声明时赋值与在构造函数里面赋值是等价的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
m89579369
2013-06-18 · TA获得超过553个赞
知道小有建树答主
回答量:208
采纳率:0%
帮助的人:69.7万
展开全部
在你给的这个例子里边没有什么区别,但是在一半情况下一般给个初值比较好,这样可以避免发生很多错误。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
北极的小鱼儿
2013-06-18 · 超过21用户采纳过TA的回答
知道答主
回答量:77
采纳率:0%
帮助的人:53.3万
展开全部
引用类型声明变量时赋值可以避免NULL错误,非引用类型会自己增加初始值不管你是否赋值。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
whiteorz
2013-06-18 · TA获得超过104个赞
知道小有建树答主
回答量:193
采纳率:0%
帮助的人:116万
展开全部
没有区别,Test效果完全一样
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式