我下面怎么调用不了
jifen(Convert.ToInt32(userme["jifen"])public static string jifen(int jifen) 
{
   string nowclass;  
     if(jifen>0)
       nowclass="小学一年级";
     if(jifen>20)
       nowclass="小学二年级";  
   return nowclass;
}还有怎么写更好备注:编译器错误信息: CS0165: 使用了未赋值的局部变量“nowclass”

解决方案 »

  1.   

    我改成下面这样已经好了,
    public static string jifen(int jifen) 
    {
       string nowclass="";  
         if(jifen>0)
           nowclass="初生精灵";
         if(jifen>20)
           nowclass="元素精灵";  
       return nowclass;
       
    }
    大家帮我看看怎么写更好,感觉ok就给分
      

  2.   

    string nowclass = String.Empty;
    给个初值即可
      

  3.   

    string nowclass = String.Empty;
      

  4.   

    public static string jifen(int jifen) 
    {
        string nowclass = String.Empty;    if(0 < jifen <= 20)
        {
            nowclass = "初生精灵";
        }
        else if(jifen > 20)
        {
            nowclass = "元素精灵";
        }    return nowclass;   
    }
      

  5.   

    public static string jifen(int jifen)
    另外,方法名最好命名规范
    Jifen
      

  6.   

    public static string jifen(int jifen)
    另外,方法名最好命名规范
    Jifen
      

  7.   

    lz: 其实你的问题是反映的变量初始化的问题。简单的说,c#编译器需要对变量进行初始化,之后才能在操作中使用该变量。其它编译器一般当作警告,而c#编译器当成错误处理。c#中有两个办法可确保变量在使用前进行了初始化:
    (1)变量是类或结构体的成员,如果没有显示初始化,默认是0。(指各种类型值的0)
    (2)在函数中的局部变量,必须在代码中显示初始化,之后才能使用,否则编译报错。
      

  8.   

    public static string jifen(int jifen) 
    {
       string nowclass;  
         if(jifen>0)
           nowclass="小学一年级";
         if(jifen>20)
           nowclass="小学二年级";  
       return nowclass;
    }
    这个函数不完备,例如用户输入了0