|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());
我觉得问题应该是出在.把赋值的语句放到判断语句里.
编辑器认为判断里的语句不一定能执行.
[解决办法]
接分````学习!!