Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [].Length int32 в int64 
:(
    Опции темы
uranpro
Дата 13.2.2010, 01:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 571
Регистрация: 7.5.2008
Где: Moscow city

Репутация: 1
Всего: 1



добрый вечер!
есть проблема, делаю массив байт:
Код

var data = new byte[10];

data.length имеет тип int32, мне этого мало, нужно как минимум int64, как быть ?


--------------------
I want a perfect soul
PM MAIL ICQ   Вверх
Экскалупатор
Дата 13.2.2010, 02:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1746
Регистрация: 1.4.2009
Где: г. Минск

Репутация: 11
Всего: 24



uranpro, написать свой класс для массива.

можно сделать массив массивов. может тогда хватит?

а вообще мне кажется что можно получить OutOfMemory если сделать такой массив с колличеством int64.MaxValue. 

да. сейчас попробовал: 
Код

byte[] b = new byte[Int32.MaxValue];

и сразу получил:
Exception of type 'System.OutOfMemoryException' was thrown.

Это сообщение отредактировал(а) Экскалупатор - 13.2.2010, 02:35
PM MAIL ICQ   Вверх
uranpro
Дата 13.2.2010, 03:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 571
Регистрация: 7.5.2008
Где: Moscow city

Репутация: 1
Всего: 1



Экскалупатор, и у меня тоже =( можно маленький пример с классом ?)


--------------------
I want a perfect soul
PM MAIL ICQ   Вверх
Экскалупатор
Дата 13.2.2010, 11:26 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1746
Регистрация: 1.4.2009
Где: г. Минск

Репутация: 11
Всего: 24



uranpro, да и с классом будет тоже самое. ведь реально элементов тоже будет много(массив байтов размером int.MaxValue = 2147483647 байт или ~ 2 гига, а тебе нужно еще больше). надо как то по другому. через файл например. в файле хранить и читать блоками по несколько миллионов, или параллельно читать и обрабатывать, обработанные выбрасывать. для этого можно сделать что то вроде очереди.
PM MAIL ICQ   Вверх
uranpro
Дата 13.2.2010, 12:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 571
Регистрация: 7.5.2008
Где: Moscow city

Репутация: 1
Всего: 1



Экскалупатор, немного путаешь, не 2 гига, а 20 метров... через файлы не получится, у меня серв на уровне сокета. 
Буду делить файл и передавать по 19 метров с номером части и кол-вом частей

Добавлено через 1 минуту и 1 секунду
через FileStream читать блоки


--------------------
I want a perfect soul
PM MAIL ICQ   Вверх
Экскалупатор
Дата 13.2.2010, 12:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1746
Регистрация: 1.4.2009
Где: г. Минск

Репутация: 11
Всего: 24



2 147 483 647 байт = 2 097 151.99 Кб = 2 047.99 Мб ~2 Гб

или я где то не правильно разделил?

PM MAIL ICQ   Вверх
uranpro
Дата 13.2.2010, 14:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 571
Регистрация: 7.5.2008
Где: Moscow city

Репутация: 1
Всего: 1



Экскалупатор, хм.. точно, я все напутал =( но почему тогда я не могу передать файл в 1.5гб? сейчас еще разок проверю...

Добавлено через 12 минут и 22 секунды
ошибка в ZLib: There is not enough room in the output buffer.
поковыряю


--------------------
I want a perfect soul
PM MAIL ICQ   Вверх
uranpro
Дата 13.2.2010, 14:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 571
Регистрация: 7.5.2008
Где: Moscow city

Репутация: 1
Всего: 1



даже 60мб не могу пеедать =(


--------------------
I want a perfect soul
PM MAIL ICQ   Вверх
nmn
Дата 14.2.2010, 22:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 593
Регистрация: 26.11.2005

Репутация: 1
Всего: 1



1,5 гб в память ради передачи файла?
PM Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0452 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.