2

標準入力に入力記号があるかどうかを知る必要があります。

しかし、そのような状態を確認する方法がわかりません。

私が理解しているように、次の入力シンボルを実際に読み取るため、 Console.Read() は使用できません。

4

7 に答える 7

3

Console.InとしてSystem.IO.TextReader使用し、Peek()-Methodを使用できると思います。

if(Console.In.Peek() == "I don't know what it will be...")
{ /* Do something */ }
于 2013-02-11T07:32:37.930 に答える
2
if(Console.In.Peek()!=-1) //solves the problem
于 2013-02-11T07:54:45.953 に答える
2
console.writeline();
var a = console.readline();
if(a == null)
{
do something..
}
else
{
do something..
}
于 2013-02-11T07:16:35.560 に答える
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
    }
}
于 2013-02-11T07:43:10.050 に答える
0

ユーザーが挿入した入力の種類を確認したい場合は、記号「<、>、?、/、@、#、$、%、^、&など...」を参照している場合は、次のように使用できます。 「これらのリンクは、入力フィールドこのフィールドの検証 に 役立ちます。

質問を適切に組み立ててくださいあなたが何を求めているのか理解するのは難しいです

于 2013-02-11T07:24:55.687 に答える
0

私はあなたの質問を理解していないといいのですが、次のようなことを試すことができます:

var userInput = Console.ReadLine();
if (string.IsNullOrEmpty(userInput))
{
 // do stuff here
}
于 2013-02-11T07:18:18.567 に答える
0

たぶんこれが役立ちます:

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

   }
于 2013-02-11T07:19:41.593 に答える