C#: большие объемы текста обрезаются при чтении программой

Привет, я не могу найти полезную информацию о том, как хранить информацию в массиве из console.writeline.

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

Как мне сохранить предложение пользователей в массив? так как в настоящее время, если я ввожу большой объем текста, он обрезается, надеюсь, массив позволит прочитать и отсортировать весь текст. Спасибо!!


person L. Full    schedule 14.12.2016    source источник
comment
Вы столкнулись с проблемой XY. Ваша проблема: в настоящее время, если я ввожу большой объем текста, он обрезается; Вы должны указать это как свою проблему, а не спрашивать, как реализовать предполагаемое решение. Console.WriteLine не имеет ничего общего с Console.ReadLine.   -  person Quantic    schedule 14.12.2016
comment
Спасибо за отзыв, проблема должна быть решена сейчас.   -  person L. Full    schedule 14.12.2016


Ответы (2)


Это ограничение API консоли, это 256 символов (254 + CR LF). Вы можете изменить этот предел с помощью

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

Найдено на форуме MSDN: http://social.msdn.microsoft.com/Forums/en/csharpgeneral/thread/51ad87c5-92a3-4bb3-8385-bf66a48d6953

OR

вы можете создать новый метод ReadLine, проверьте этот пост: Максимальная длина Console.ReadLine()?

person Emanuele Vissani    schedule 14.12.2016
comment
Я нашел похожую информацию на Console.ReadLine страница MSDN. Сам метод может читать до Int32.MaxValue, но, как сказано на странице, он читает из буфера, а длина этого буфера по умолчанию составляет всего 256 символов. - person Quantic; 14.12.2016

Вы можете установить способ общения с пользователем, например, когда он отправляет пустую строку, она заканчивается. А затем сделайте следующее:

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);             
}
person Rômulo M. Farias    schedule 14.12.2016