2016-12-14 7 views
-3

こんにちは私は、console.writelineから情報を配列に格納する方法に関する有用な情報を見つけることができないようです。C#:大量のテキストがプログラムによって読み込まれたときに途切れる

Console.WriteLine("Please enter one or more sentences."); 
string text = Console.ReadLine(); 

ユーザーの文章をどのようにして配列に格納しますか?現在、大量のテキストを入力すると、配列を読み込んで並べ替えることができればうれしいことです。 ありがとうございます!

+0

あなたは下降しています[XY問題](http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem)に記載されています。あなたの問題は次のとおりです。「現在、大量のテキストを入力すると、切り詰められています。想定されるソリューションを実装する方法を尋ねるのではなく、これを問題として説明する必要があります。 'Console.WriteLine'は' Console.ReadLine'とは何の関係もありません。 – Quantic

+0

フィードバックをいただきありがとうございます。 –

答えて

1

これはコンソールAPIの制限で、256文字(254 + CR LF)です。あなたは

MSDNフォーラムに見つかり
Console.SetIn(new StreamReader(Console.OpenStandardInput(8192))); 

でこの制限を変更することができ :http://social.msdn.microsoft.com/Forums/en/csharpgeneral/thread/51ad87c5-92a3-4bb3-8385-bf66a48d6953

OR

新しいReadLineメソッドを作成することができ、この記事をチェックしてください。 Console.ReadLine() max length?

+0

同様の情報が[Console.ReadLine'](https://msdn.microsoft.com/en-us/library/system.console.readline(v = vs.110).aspx)のMSDNページにあります。メソッド自体はInt32.MaxValueまで読み込むことができますが、ページにはバッファから読み込みが行われ、そのバッファはデフォルトでは256文字にすぎません。 – Quantic

1

空の行を送信したときなど、ユーザーとの通信方法を確立することができます。次に、次の操作を行います。

Console.WriteLine("Please enter one or more sentences."); 
string text;  
List<string> list = new List(); 

while (true) 
{ 
     text = Console.ReadLine(); 

     if (text.Length == 0) 
      break; 
     else 
      list.Add(text);    
}