如代码
Int32 MySort;
if(true==true)
{
    MySort=2;
}
response.write(MySort.ToString());但:上面程序验证出错:
提示:使用了未赋值的变量
我一般是在Int32 MySort改为Int32 MySort=0;现在问一下大家是怎么写的

解决方案 »

  1.   

    Int32 MySort = 0;
    if(true==true)
    {
        MySort=2;
    }
    response.write(MySort.ToString());
      

  2.   

    C# 编译器不允许使用未初始化的变量。
    如果编译器检测到使用了可能未初始化的变量,就会生成CS0165。MSDN上的
    msdn2.microsoft.com/zh-cn/4y7h161d(VS.80).aspx
      

  3.   

    也就是不能省掉那一步的Int32 MySort = 0;
      

  4.   

    private void Button1_Click(object sender, System.EventArgs e)
    {
    Int32 MySort;
    if(true==true)
    {
    MySort=2;
    }
    Response.Write(MySort.ToString());
    }
    ====================
    我这么写 没有报错呀。 结果为:2
      

  5.   

    在page_load里这么写好像没有问题。
      

  6.   

    Int32 MySort;
            if (true == true)
            {
                MySort = 2;
            }
            Response.Write(MySort.ToString () );
    没有问题.无论是page_load事件还是button_onclick事件都没有问题啊
    返回的都是2
      

  7.   

    是啊 ! 
    C# 编译器不允许使用未初始化的变量。
    如果编译器检测到使用了可能未初始化的变量,会XXXXXX不通过!
      

  8.   

    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);//报错!
    ------------------------------
      

  9.   

    Int32 MySort = 0;
    if(true)
    {
        MySort=2;
    }
    response.write(MySort.ToString());
      

  10.   

    Int32 MySort=0;我都是先复制的。
      

  11.   

    Int32 MySort=0;我都是先赋值的。
      

  12.   

    Int32 MySort;
    if(true==true)
    {
        MySort=2;
    }
    response.write(MySort.ToString());我觉得问题应该是出在.把赋值的语句放到判断语句里.
    编辑器认为判断里的语句不一定能执行.