C#中,在声明一个变量时不赋值和声明一个变量时赋值,有什么区别?这个变更在下一行代码就用了的。
比如,①:stringa="";a="test";Test(a);②:stringa="test";Test(a)这两种有没有什么区别。...
比如,
①:string a="";
a="test";
Test(a);
②:string a="test";
Test(a)
这两种有没有什么区别。 展开
①:string a="";
a="test";
Test(a);
②:string a="test";
Test(a)
这两种有没有什么区别。 展开
5个回答
展开全部
当然有区别,比如
赋值的话变量里面就会有值,而不赋值,只是开辟了这么一个空间,里面放的东西是什么就不知道了,会造成你程序出错。
比如
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;
这样就可以了。
当然这个只是简单的情况,你可能会说自己会这么傻么,但是随着程序复杂程度的提高,加入循环,各类变量的增多,那么如果没有养成良好的习惯,就会导致你可能在最后把一些变量忘记赋值最后得到了错误的就结果
赋值的话变量里面就会有值,而不赋值,只是开辟了这么一个空间,里面放的东西是什么就不知道了,会造成你程序出错。
比如
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";
中间变换多少次,最后结果还是一样的。。。除非你在中途插入其他的步骤
展开全部
声明时赋值与在构造函数里面赋值是等价的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在你给的这个例子里边没有什么区别,但是在一半情况下一般给个初值比较好,这样可以避免发生很多错误。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
引用类型声明变量时赋值可以避免NULL错误,非引用类型会自己增加初始值不管你是否赋值。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
没有区别,Test效果完全一样
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询