正在检查Console.ReadLine()=无效的
本文关键字:无效 ReadLine 检查 Console | 更新日期: 2023-09-27 18:26:27
我正在为我的应用程序制作CMD,并且在检查`Console.ReadLine!=空``
string input = Console.ReadLine();
if(input != null)
SomeFunction(input);
在SomeFunction()
中,我拆分了这个字符串,例如:
Console.WriteLine(input[0]);
问题是,当用户点击Enter一次时,它就能工作。但是如果用户再次点击它,我会得到一个异常。
[0]不存在。
当您点击ENTER
时,Console.ReadLine
返回空的string
。它不会返回null。改为使用string.IsNullOrEmpty
进行检查。
if(!string.IsNullOrEmpty(input))
根据文档,只有当您按下CTRL + Z.
谢谢大家!
我想我可以检查字符串的长度是否为0。
if(input.Length==0) //(Actually, will check if input.Length !=0 before calling function based on original source)
非常简单。但是
!string.IsNullOrEmpty(input)
同样有效。每天都在学习新东西。谢谢你的帮助!
if(!string.IsNullOrWhiteSpace(input))
DoYourWork(input);
不要只检查null,而是尝试使用String.IsNullOrEmpty检查它是空的还是null,因为当你不输入任何内容并按Enter
时,你会得到一个空字符串,这会导致
类型为"System.IndexOutOfRangeException"的未处理异常
您更新的完整代码应如下
string input = Console.ReadLine();
if (!string.IsNullOrEmpty(input) )
{
SomeFunction(input);
}