.NET 4.x Размер массива для MemoryStream и NotSupportedException - C#

Узнай цену своей работы

Формулировка задачи:

Почему если изменить размер массива с 254 на любой другой, выкидывает NotSupportedException в строке write.Flush(); почему размер массива влияет на это? Объясните пожалуйста.
Листинг программы
  1. static void Main()
  2. {
  3. byte[] storage = new byte[254];
  4. MemoryStream memstr = new MemoryStream(storage);
  5. StreamWriter write = new StreamWriter(memstr);
  6. StreamReader reade = new StreamReader(memstr);
  7. try
  8. {
  9. for(int i = 0; i < 10; i++)
  10. {
  11. write.WriteLine("byte [" + i + "]: " + i);
  12. }
  13. write.WriteLine(".");
  14. write.Flush();
  15. Console.WriteLine("Вывод непосредственно с массива");
  16. foreach (char ch in storage)
  17. {
  18. if (ch == '.') break;
  19. Console.Write(ch);
  20. }
  21. Console.WriteLine("Вывод с использованием ридера");
  22. memstr.Seek(0, SeekOrigin.Begin);
  23. string str = reade.ReadLine();
  24. while(str != null)
  25. {
  26. str = reade.ReadLine();
  27. if (str[0] == '.') break;
  28. Console.WriteLine(str);
  29. }
  30. }catch(IOException exc)
  31. {
  32. Console.WriteLine("Ошибка ввода-вывода" + exc.Message);
  33. }
  34. finally
  35. {
  36. reade.Close();
  37. write.Close();
  38. }
  39. Console.Read();

Решение задачи: «.NET 4.x Размер массива для MemoryStream и NotSupportedException»

textual
Листинг программы
  1. static void Main()
  2. {
  3.     MemoryStream memstr = new MemoryStream();
  4.     StreamWriter write = new StreamWriter(memstr);
  5.     StreamReader reade = new StreamReader(memstr);
  6.  
  7.     try
  8.     {
  9.         for(int i = 0; i < 10; i++)
  10.         {
  11.             write.WriteLine("byte [" + i + "]: " + i);
  12.         }
  13.         write.WriteLine(".");
  14.         write.Flush();
  15.  
  16.         byte[] storage = memstr.ToArray();
  17.  
  18.         Console.WriteLine("Вывод непосредственно с массива");
  19.         // Далее без изменений ...

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.231 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы