我正在为我的applcation制作一个CMD,并且当我检查 Console.ReadLine时,我发现我遇到了麻烦!= null
---完整代码---
string input = Console.ReadLine();
if(input!=null)
{
SomeFunction(input);
}
---代码结束---
在SomeFunction()中的我拆分了这个字符串,例如:
Console.WriteLine(input[0]);
所以问题是:
如果用户点击输入一次,它就有效。但如果再次使用,我会得到一个例外: 那[0]不存在。
答案 0 :(得分:7)
当您点击ENTER
时,Console.ReadLine
会返回空string
。它不会返回 null 。请改用string.IsNullOrEmpty
进行检查。
if(!string.IsNullOrEmpty(input))
根据documentation,仅当您按CTRL + Z.
答案 1 :(得分:2)
谢谢每一个人!
我想我可以检查字符串的长度是否为0。
if(input.Length==0) //(Actually, will check if input.Length !=0 before calling function based on original source)
很简单。但是
!string.IsNullOrEmpty(input)
也可以。每天都在学习新的东西。谢谢你的帮助!
答案 2 :(得分:1)
if(!string.IsNullOrWhiteSpace(input))
DoYourWork(input);
答案 3 :(得分:1)
不是只检查null,而是使用String.IsNullOrEmpty尝试检查它是否为空或null,因为当你没有输入任何东西并按Enter
时,你得到一个空字符串,结果是< / p>
类型&#39; System.IndexOutOfRangeException&#39;
的未处理异常
您更新的完整代码应如下
string input = Console.ReadLine();
if (!string.IsNullOrEmpty(input) )
{
SomeFunction(input);
}