C# 未分配的局部变量?
C# Unassigned local variable?
如何修复错误:成绩 "unassigned local variable"?我尝试在 'string' 之前使用 public 和私有前缀,但没有用。有人可以解释一下 private 和 public 的作用吗?
谢谢
using System;
public class Program
{
public static void Main()
{
bool answered = false;
string grade;
while(answered == false)
{
Console.Write("What is your mark? ");
int mark = Convert.ToInt16(Console.ReadLine());
answered = true;
if(mark >= 90 && mark <= 100)
{
grade = "A";
} else if(mark >= 80 && mark < 90)
{
grade = "B";
} else if(mark >= 55 && mark < 80)
{
grade = "C";
} else if(mark >= 40 && mark < 55)
{
grade = "D";
} else if(mark >= 0 && mark < 40)
{
grade = "E";
} else
{
Console.WriteLine("Please enter your mark between 0-100");
answered = false;
}
Console.WriteLine("Your grade is a " + grade);
Console.ReadLine();
}
}
}
您需要确保在所有情况下都为 grade
分配了一个值,以便它始终具有一个值。您可以先用一个值初始化它:
string grade = "";
或者,在您的所有条件下将其设置为一个值,这意味着在您的其他条件中设置它:
else
{
Console.WriteLine("Please enter your mark between 0-100");
grade = "";
}
如何修复错误:成绩 "unassigned local variable"?我尝试在 'string' 之前使用 public 和私有前缀,但没有用。有人可以解释一下 private 和 public 的作用吗? 谢谢
using System;
public class Program
{
public static void Main()
{
bool answered = false;
string grade;
while(answered == false)
{
Console.Write("What is your mark? ");
int mark = Convert.ToInt16(Console.ReadLine());
answered = true;
if(mark >= 90 && mark <= 100)
{
grade = "A";
} else if(mark >= 80 && mark < 90)
{
grade = "B";
} else if(mark >= 55 && mark < 80)
{
grade = "C";
} else if(mark >= 40 && mark < 55)
{
grade = "D";
} else if(mark >= 0 && mark < 40)
{
grade = "E";
} else
{
Console.WriteLine("Please enter your mark between 0-100");
answered = false;
}
Console.WriteLine("Your grade is a " + grade);
Console.ReadLine();
}
}
}
您需要确保在所有情况下都为 grade
分配了一个值,以便它始终具有一个值。您可以先用一个值初始化它:
string grade = "";
或者,在您的所有条件下将其设置为一个值,这意味着在您的其他条件中设置它:
else
{
Console.WriteLine("Please enter your mark between 0-100");
grade = "";
}