Есть ли способ выполнить нулевое копирование в.NET?
В Java я бы использовал java.nio
библиотека и использование FileChannel.transferTo()
а также FileChannel.transferFrom()
, Есть ли что-то похожее в (в частности) C# или мне придется загружать неуправляемые.dll откуда-то? Google не был полезен в этом случае.
Изменить: я должен отметить, что я нацеливаюсь на.NET 3.5.
1 ответ
Я думаю, что лучшим аналогом может быть UnmanagedMemoryStream.
Этот класс поддерживает доступ к неуправляемой памяти с использованием существующей потоковой модели и не требует, чтобы содержимое неуправляемой памяти копировалось в кучу.
Хотя у меня никогда не было причин для этого, поэтому не могу ручаться за уместность этого класса (или использования неуправляемого кода / памяти в вашем сценарии).