| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Общие вопросы по .NET и C# > как узнать размер буфера ? |
| Автор: tht 14.5.2006, 20:37 | ||
| длину буфера можно узнать через buffer.Lenght а как узнать какой размер у него ? вот например длина 512 byte[] buffer = new byte[512]; загрузили туда 10 байт. т.е. получатся что там щас есть 10 байт, размер буфера 10 байт. как можно узнать что там 10 байт ? просто такая штука получается, когда я вывод из буфера делаю при помощи Console.WriteLine() то он выводит все 512 байт, то есть строку которая в него была загружена и все остальные пустые байты. привер:
и еще вопрос, как буфер можно очистить ? т.е. что бы его длина осталась прежней, но что бы байты загруженные были удалены от туда. заранее спасибо ! |
| Автор: Void 14.5.2006, 20:47 |
| Вообще-то метод System.Net.Sockets.Socket.Receive (если ты про эти сокеты) возвращает число принятых байт. |
| Автор: tht 14.5.2006, 20:54 |
| ну это понятно, но это же не единичный случай когда мне понадобится узнать его размер ??? или ты мне предлагаешь каким то макаром во всех случаях использовать сокеты что бы так узнавать размер буфера ? |
| Автор: Void 14.5.2006, 21:03 |
| Массив ничего не знает про то, кто, что и сколько в него пишет. Поэтому в каждом конкретном случае тебе придется использовать свои решения. Как правило, любой метод/класс, использующий буфер, позволяет определить число записанных элементов. |
| Автор: mr.DUDA 14.5.2006, 22:52 |
| tht, Void всё правильно ответил. |