C# с помощью потоков

Почему не делают Вас, просто используют одну из той необычной графики загрузки (например: http://ajaxload.info/ )? Курсор ожидания для самого браузера - поэтому каждый раз, когда кажется, что это имеет некоторое отношение к браузеру а не со страницей.

107
задан LightCC 24 October 2017 в 04:33
поделиться

5 ответов

Поток - это объект, используемый для передачи данных. Существует общий класс потока System.IO.Stream , от которого происходят все другие классы потоков в .NET. Класс Stream имеет дело с байтами.

Конкретные классы потока используются для работы с другими типами данных, кроме байтов. Например:

  • Класс FileStream используется, когда внешним источником является файл
  • MemoryStream используется для хранения данных в памяти
  • System.Net.Sockets.NetworkStream обрабатывает сетевые данные

Потоки чтения / записи, такие как StreamReader и StreamWriter , не являются потоками - они не являются производными от System.IO.Stream , они предназначены для записи и чтения данных из потока и в поток!

72
ответ дан 24 November 2019 в 03:42
поделиться

Потоки хороши для работы с большими объемами данных. Если нецелесообразно загружать все данные в память одновременно, вы можете открыть его как поток и работать с небольшими фрагментами.

21
ответ дан 24 November 2019 в 03:42
поделиться

Существует только один базовый тип Stream . Однако в различных обстоятельствах некоторые члены будут вызывать исключение при вызове, потому что в этом контексте операция была недоступна.

Например, MemoryStream - это просто способ перемещать байты в и из фрагмента памяти. . Следовательно, вы можете вызывать для него Read и Write.

С другой стороны, FileStream позволяет вам читать или записывать (или и то, и другое) из / в файл. Возможность чтения или записи зависит от того, как был открыт файл. Вы не можете записать файл, если вы открыли его только для чтения.

4
ответ дан 24 November 2019 в 03:42
поделиться

Я бы начал с чтения потоков в MSDN: http://msdn.microsoft.com/en-us/library/system.io.stream.aspx

Memorystream и FileStream - это потоки, используемые для работы с необработанной памятью и файлами соответственно ...

3
ответ дан 24 November 2019 в 03:42
поделиться

Я бы не стал называть эти разные виды потоков. Класс Stream имеет свойства CanRead и CanWrite, которые сообщают вам, можно ли читать и записывать конкретный поток.

Основное различие между разными классами потоков (такими как MemoryStream и FileStream) - это резервное хранилище, в котором читаются данные. откуда или куда написано. Это как бы очевидно из названия. MemoryStream сохраняет данные только в памяти, FileStream поддерживается файлом на диске, NetworkStream считывает данные из сети и т. Д.

1
ответ дан 24 November 2019 в 03:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: