为字符串输入转换 Console.ReadLine() 的空文字
Converting null literal for Console.ReadLine() for string input
我是 c# 的新手,所以我需要一些指导。
string NumInput = Console.ReadLine();
在我的代码中,这条语句给出了
的警告
正在将 null 文字或可能的 null 值转换为不可为 null 的类型。
是否有任何替代此代码行或任何可以使此警告消失的方法
首先,您看到此消息是因为您在项目中启用了 C# 8 Nullable reference type 功能。
Console.ReadLine()
returns 可以是 string 或 null 的值,但您使用它来设置变量输入 字符串 。相反,要么使用 var
关键字,它将隐式地将变量设置为与 return 值相同的类型,要么手动将变量设置为类型 nullable string string?
. ?
表示可为空的引用类型。
然后您可能想在使用之前检查您的变量是否确实包含一个字符串:
string? NumInput = Console.ReadLine();
if (NumInput == null)
{
// ...
}
我是 c# 的新手,所以我需要一些指导。
string NumInput = Console.ReadLine();
在我的代码中,这条语句给出了
的警告正在将 null 文字或可能的 null 值转换为不可为 null 的类型。
是否有任何替代此代码行或任何可以使此警告消失的方法
首先,您看到此消息是因为您在项目中启用了 C# 8 Nullable reference type 功能。
Console.ReadLine()
returns 可以是 string 或 null 的值,但您使用它来设置变量输入 字符串 。相反,要么使用 var
关键字,它将隐式地将变量设置为与 return 值相同的类型,要么手动将变量设置为类型 nullable string string?
. ?
表示可为空的引用类型。
然后您可能想在使用之前检查您的变量是否确实包含一个字符串:
string? NumInput = Console.ReadLine();
if (NumInput == null)
{
// ...
}