2013-02-11 69 views
2

我需要知道標準輸入中是否有任何輸入符號。如何檢查標準輸入是否爲空?

但我不知道如何檢查這種情況。

據我所知,我不能使用Console.Read(),因爲它實際上會讀取下一個輸入符號。

+2

你的意思是說'標準輸入'? – 2013-02-11 07:14:59

+1

你究竟想達到什麼目的?你是否試圖限制輸入到一系列有效的字符? – 2013-02-11 07:15:05

+0

你想檢查用戶是否提供了輸入? – 2013-02-11 07:16:35

回答

3

我想你可以使用Console.InSystem.IO.TextReader和使用Peek() - 方法:

if(Console.In.Peek() == "I don't know what it will be...") 
{ /* Do something */ } 
2
console.writeline(); 
var a = console.readline(); 
if(a == null) 
{ 
do something.. 
} 
else 
{ 
do something.. 
} 
0

我希望我undestood你的問題,你可以嘗試這樣的事:

var userInput = Console.ReadLine(); 
if (string.IsNullOrEmpty(userInput)) 
{ 
// do stuff here 
} 
0

也許這將幫助:如果您想查詢什麼類型的輸入

string s = Console.ReadLine(); 
    if (s.Contains('@') Or s.Contains('!')) // you can add other symobols as need 
    { 
    //do your work 

    } 
0

您如果您的符號指的是「<,」,?,/,@,#,$,%,^,&,等等......」 這些鏈接可以幫助您Validation of input fieldsthis one

請包圍着您的問題妥善也很難明白你問什麼

1

如果你想看看是否有任何數據上的控制檯的標準輸入等待而不實際閱讀它,我建議你去是這樣的:

using (var sr = new StreamReader(Console.OpenStandardInput())) 
{ 
    //check if there are any characters on the input stream 
    if(!sr.EndOfStream) 
    { 
     //do whatever You want to do when the stream is not empty 
    } 
    else 
    { 
     //do whatever You want to do when the stream is empty 
    } 
}