|M| 问一个程序最带见的问题; 但我却没有什么好办法:变量没有赋值
如代码
Int32 MySort;
if(true==true)
{
MySort=2;
}
response.write(MySort.ToString());
但:上面程序验证出错:
提示:使用了未赋值的变量
我一般是在Int32 MySort改为Int32 MySort=0;
现在问一下大家是怎么写的
------解决方案--------------------Int32 MySort = 0;
if(true==true)
{
MySort=2;
}
response.write(MySort.ToString());
------解决方案--------------------楼上正解 帮顶 接分
------解决方案--------------------报错是什么情况下会出现的?我现在这样写就不报错了....
------解决方案--------------------赋初值
------解决方案--------------------C# 编译器不允许使用未初始化的变量。
如果编译器检测到使用了可能未初始化的变量,就会生成CS0165。
MSDN上的
msdn2.microsoft.com/zh-cn/4y7h161d(VS.80).aspx
------解决方案--------------------private void Button1_Click(object sender, System.EventArgs e)
{
Int32 MySort;
if(true==true)
{
MySort=2;
}
Response.Write(MySort.ToString());
}
====================
我这么写 没有报错呀。 结果为:2
------解决方案--------------------这个是 语法上的 规定.
------解决方案--------------------赋初值
等于给了地址 没给地址没法放值啊~~
------解决方案--------------------在page_load里这么写好像没有问题。
------解决方案--------------------Int32 MySort;
if (true == true)
{
MySort = 2;
}
Response.Write(MySort.ToString () );
没有问题.无论是page_load事件还是button_onclick事件都没有问题啊
返回的都是2
------解决方案--------------------定义同时赋值
------解决方案--------------------是啊 !
C# 编译器不允许使用未初始化的变量。
如果编译器检测到使用了可能未初始化的变量,会XXXXXX不通过!
------解决方案--------------------int i;
if(1==1)
{ i=1; }
response.write(i);//不会报错!
------------------------------
int i;
if (3 == 2)
{ i = 1;}
else
{ i = 2;}
response.write(i);//不会报错!
------------------------------
int i;
if (3 == 2)
{ i = 1;}
response.write(i);//报错!
------------------------------
------解决方案--------------------Int32 MySort = 0;
if(true)
{
MySort=2;
}
response.write(MySort.ToString());
------解决方案--------------------一般都会赋一个初始值
------解决方案--------------------Int32 MySort=0;
我都是先复制的。
------解决方案--------------------大家都说了,jf
------解决方案--------------------变量使用的话要先赋值;
当然你也可以声明变量而不赋值,这样编译不会出错,但是使用这个变量就会出错,除非先给他赋初值。
------解决方案--------------------Int32 MySort;
if(true==true)
{
MySort=2;
}
response.write(MySort.ToString());
我觉得问题应该是出在.把赋值的语句放到判断语句里.