【C#】Console.ReadLineで長い文字列を入力すると途中で切り詰められてしまう問題を解消する方法

C#でコンソールで文字入力を取得する際に使う「Console.ReadLine」で、長い文字列を入力すると自動で254文字に切り詰められてしまいます。


今回はこの問題を解消する方法を説明していきます。

発生条件


コンソールアプリを実行した際に、コマンドプロンプトが起動される環境でのみ発生します。



Windowsターミナルが起動する環境の場合は、文字数制限自体が多分ありません(Microsoft公式でも文字数制限があるという記載が見当たらない)。ちなみに実際に検証してみたところ、100万文字まで入力できることが確認できました。


対処方法


以下のコードでコンソールの設定を変えることで、1022文字まで入力可能にできます。


「Console.ReadLine」を呼び出す前に以下のコードを入力してください。


Console.SetIn(new StreamReader(Console.OpenStandardInput(8192)));

この記事へのコメント

この記事へのトラックバック