string assort;
        if(this.radioyes.Checked)
        {
           assort = 1.ToString();
        }
        else if(this.radiono.Checked)
        {
           assort = 0.ToString();
        }
 SqlConnection conn = new SqlConnection();
        conn.ConnectionString = ConfigurationSettings.AppSettings["ConnectionString"];
        SqlCommand cmd = conn.CreateCommand();
        cmd.CommandText = "insert into table(assort) values('" + assort + "') ";
        conn.Open();
        cmd.ExecuteNonQuery();
        conn.Close();
为什么编译提示使用了未赋值的局部变量assort,我明明定义了的 string assort;

解决方案 »

  1.   

    你把第一句改成 string assort = string.Empty 
      

  2.   

    string assort; 
    为初始化,改为
    string assort = ""; 
      

  3.   

    string assort = ""; 
      

  4.   

    1. 声明 与 赋值 是两码事!2. 你的叫赋值3. 虽然你的 if-else 进行了赋值,但是这个 if-elseif 并不能保证都执行4. .NET 基于代码安全性的考虑,自动检测到这点了,防止你使用未赋值的变量
      

  5.   

    string assort ="";  或者
    string assort = string.Empty;
      

  6.   

    string assort="";或者string assort=string.Empty;