C#でコンソールから文字列を取得する際に使う「Console.ReadLine」で、255文字以上の文字列を取得しようとすると、254文字までしか取得できない問題が発生します。
今回はこの問題を解消する方法を説明していきます。
発生条件
コンソールアプリを実行した際に、コマンドプロンプトが起動される環境でのみ発生します。

Windowsターミナルが起動する環境の場合は、100万文字までは問題なく取得できることが確認できました。
対処方法
以下のいずれかの方法で解決可能です。
Console.ReadLineを呼び出す前に設定を変更する
以下のコードでコンソールの設定を変えることで、1022文字まで取得できます。
「Console.ReadLine」を呼び出す前に以下のコードを入力してください。
Console.SetIn(new StreamReader(Console.OpenStandardInput(8192)));
既定のターミナルを「Windowsターミナル」に変更する
Windows11環境で1023文字以上取得する場合はこの方法がおすすめです。
以下の手順で既定のターミナルを「Windowsターミナル」に変更します。
1.「Windowsターミナル」を開きます。

2.「^」をクリックします。

3.「設定」をクリックします。

4.「既定のターミナルアプリケーション」のプルダウンをクリックします。

5.「Windowsターミナル」をクリックします。

6.「保存」をクリックします
