0

Enter またはキャリッジ リターンが提供される前に、ユーザーがさらに段落を入力できるようにするにはどうすればよいですか?

各段落の後で、Enter キーを押して、その段落を終了したことを示す必要があることを知っています。

この段落を数え​​なければなりません。テキストがファイルから読み取られる場合、おそらくそれで問題ありません(段落をカウントするために探している区切り文字はまだわかりません)。

しかし、キーボードからユーザーが入力したテキストを読み取るとき、どうすれば段落を数え​​ることができますか?わかりません。

ユーザーがいくつかのステートメントを開始して入力し、Enter キーを押したとします... プログラムが終了しました... 1 段落で終わりです。

ユーザーが 2 段落以上入力してカウントできるようにするにはどうすればよいですか?

私はおそらく、正規表現の代わりに単純な「初心者」の方法を好むでしょう...文を数えることはできますが、キーボードからの段落入力ではできません...おそらく、ユーザーが複数の段落を入力できるようにするために、ループまたは何かになりたいと考えています。段落の入力を終えたときにユーザーが行うことよりも?ヒットが再び入る...だから混乱、混乱、混乱..

4

2 に答える 2

0

WinForms を使用している場合は、Multiline を true に設定して TextBox を使用できます。それを行う方法の例でTextBoxクラスのドキュメントを確認するか、 RichTextBoxクラスを使用できます

段落を数え​​るには、次のコードを使用できます。

var paragraphs = myTextBoxControl.Text.Split('\n').Count;
于 2013-01-06T18:44:55.957 に答える
0

これはどう:

List<string> lines = new List<string>();
string line = Console.ReadLine();
while(!string.IsNullOrEmpty(line))
{
    lines.Add(line);
    line = Console.ReadLine();
}

次にlines、ユーザーが入力したすべての段落が含まれ、何も入力せずに Enter キーを押すことで入力の終わりを示すことができます。

編集: ユーザーが入力した段落の数だけをカウントする必要がある (保存しない) 場合、これは機能します。

int paragraphsEntered = 0;
string line = Console.ReadLine();
while(!string.IsNullOrEmpty(line))
{
    paragraphsEntered++
    line = Console.ReadLine();
}
Console.WriteLine("You entered {0} paragraph(s).", paragraphsEntered);
于 2013-01-06T18:38:29.440 に答える