检查Console.ReadLine()!= null

时间:2014-10-13 11:09:06

标签: c# null console

我正在为我的applcation制作一个CMD,并且当我检查 Console.ReadLine时,我发现我遇到了麻烦!= null

---完整代码---

   string input = Console.ReadLine();
    if(input!=null)
    {
    SomeFunction(input);
    }

---代码结束---

在SomeFunction()中的

我拆分了这个字符串,例如:

  Console.WriteLine(input[0]);

所以问题是:

如果用户点击输入一次,它就有效。但如果再次使用,我会得到一个例外: 那[0]不存在。

4 个答案:

答案 0 :(得分:7)

当您点击ENTER时,Console.ReadLine会返回空string。它不会返回 null 。请改用string.IsNullOrEmpty进行检查。

if(!string.IsNullOrEmpty(input))

根据documentation,仅当您按CTRL + Z.

时,它才会返回null

答案 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);
}