switch语句中的变量won't print

本文关键字:print won 语句 变量 switch | 更新日期: 2023-09-27 18:04:56

嘿,所以我正在为类编写程序,不知道为什么我的代码抛出错误:"使用未分配的局部变量'value'"

下面是我的switch语句:
 switch (sType)
            {
            case 1:
                Console.Write("Enter GPA: ");
                swag = Convert.ToInt32(Console.ReadLine());
                break;
            case 2:
                Console.Write("Enter thesis title: ");
                cool = Console.ReadLine();
                break;
            case 3:
                Console.Write("Enter dissertation title: ");
                value = Console.ReadLine();
                break;
            case 4:
                break;
            default:
                Console.WriteLine("Invalid input");
                break;
        }
Console.WriteLine(value);

所以基本上我只是输入这个"sType",并且开关工作,但是当我去打印值变量时,我得到"使用未分配的局部变量'value'"错误。

switch语句中的变量won't print

您需要在定义变量值的地方初始化它。

string value = string.empty;

以防万一,如果情况3没有在程序中执行怎么办?因此,value在整个程序中保持未初始化。但是,在所有情况下,在最后,您将在最后一行写入value的值,该值将为null。

因此,编译器抛出一个错误,变量值应该在打印它的值之前被初始化。


*注意:在局部变量被使用之前,必须给它们赋值。

value似乎没有被定义/初始化。在switch语句上面应该有

var value = "";
string sID, zip, thesis, value; 
sID = zip = thesis = value = string.Empty;