Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Stream чтение в buffer


Автор: uranpro 6.4.2010, 12:55
добрый день!
проблема!
есть MemoryStream sIn, нужно из него считывать постепенно инфу
Код

                byte[] buffer = new byte[2000];
                int len;
                while ((len = sIn.Read(buffer, 0, 2000)) > 0)
                {
                    // как тут обрезать buffer(если len<buffer.length), не создавая нового экземпляра byte[] ?
                    // дальше, готовый buffer нужно передать в качестве параметра.
                    ...
                }

Автор: mrbrooks 6.4.2010, 13:03
Код

Array.Resize(ref buffer, len);

Автор: uranpro 6.4.2010, 13:06
не могу

Автор: mrbrooks 6.4.2010, 13:07
Цитата(uranpro @  6.4.2010,  14:06 Найти цитируемый пост)
не могу 

поправил - теперь сможешь

Автор: uranpro 6.4.2010, 13:44
функция принимает 1 параметр и она не моя

Добавлено через 21 секунду
спс!)

Добавлено через 11 минут и 19 секунд
Заметки
Этот метод выделяет новый массив заданного размера, копирует элементы из старого массива в новый, а затем заменяет старый массив новым.

Если массив array равен значению nullNothingnullptrссылка null (Nothing в Visual Basic), этот метод создает новый массив указанного размера.

Если значение newSize больше значения свойства Length старого массива, выделяется новый массив, в который копируются все элементы старого массива. Если значение newSize меньше значения свойства Length старого массива, выделяется новый массив, в который копируются все элементы старого массива, пока этот массив не окажется заполненным. Оставшиеся элементы старого массива игнорируются. Если значение newSize равно значению свойства Length старого массива, этот метод не выполняет никаких действий. 

Этот метод является операцией O(n), где n — значение свойства newSize.

=(

Добавлено через 13 минут и 25 секунд
а хотя и так пойдет, новый экземпляр я создам только 2 раза, где 2 будет меньше 2000 - не критично =)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)