|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjv, вот в данном случае, я получаю маркер что идут объекты простого Queue и пошли поля этого объекта одно поле (закрытое) является массивом я заполняю простейший массив , заканчиваю с Queue и иду дальше. зы не дай вам бог использовать Activator.CreateInstance ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2014, 22:08 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
все коллекции это просто обертки над массивом А интерфейсы этих оберток это просто интерфейсы. конечно в плане маршалинга ( упаковки) хочется подняться по выше массива что бы поиметь более сжатую форму передачи, понадеяться на выигрыш в скорости. Ну тогда появляется лоскутное одеяло из if_ов, но и сериализаторов выбор большой ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2014, 22:35 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Где-то в степивот в данном случае, я получаю маркер что идут объекты простого Queue и пошли поля этого объекта одно поле (закрытое) является массивом я заполняю простейший массив , заканчиваю с Queue и иду дальше.Еще уточню - у меня кроссплатформенная сериализация. Мне приходит коллекция в некоем универсальном виде. Поэтому ни про какие "создать массив" речи не идет, так как все возможные коллекции этим не покрыть. Где-то в степизы не дай вам бог использовать Activator.CreateInstanceЯ FormatterService использую. Где-то в степивсе коллекции это просто обертки над массивомНу это не так. Массив применим к спискам и очередям. LinkedList - уже не массив. HashSet - не массив. Hashtable - не массив. И т.д.. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2014, 22:58 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjv, про связанные списки соглашусь, всегда про них забываю, FormatterService - гут а все остальное для меня абстрактно, глубина ширина, и что приходит.., хотите через интерфейсы готовьтесь к if ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2014, 23:21 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjv, В каком виде информация о типе в сериализованных данных? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2014, 23:26 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Свеном, ты таки жжешь. Если у тебя "кроссплатформенная" сериализация, то возьми уже Protocol Buffers или Thrift какой и не возбуждайся по пустякам. Если же есть желание повбрасывать, то расскажи нам, гуру Явы, какие малолетние индусы-укурки проектировали Date & Time API? Почему "A year y is represented by the integer y - 1900" и 2014 год у вас представлен как 104? Почему "A month is represented by an integer from 0 to 11; 0 is January, 1 is February, and so forth; thus 11 is December."? Почему эти классы мутабельные? Почему нужен отдельный java.sql.Date? Где у даты TimeZone? "Как вы с этим живете" и все такое прочее. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2014, 00:23 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
забавно всё, явсксий add для коллекции - optional operation имеет полное право UnsupportedOperationException выбросить ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2014, 00:50 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Изопропил, я про это и имел ввиду приведя ссылку выше. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2014, 01:02 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
топикстартер похоже пытается по типу коллекции (хранимому в сериализованных данных) сконструировать конкретную пустую коллекцию и наполнять её универсальным образом методом add ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2014, 01:16 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjvУточню задачу. У меня в руках есть поток данных, и больше ничего. Из него я вычитываю некий маркер, который говорит мне, что дальше в потоке идет сериализованная коллекция некоего типа. В Java я бы на основании этого типа инстанциировал коллекцию (тут бы возможно потребовался какой-то if/switch), и запихал в нее данные через Add, так как в любую коллекцию можно добавлять данные, это и дураку понятно - на то она и коллекция. не прошло и пол года, уточнять с самого начала надо было. кстати, а как вы собираетесь "инстанцировать" коллекцию типа ICollection? вы же вроде умный, умеете отличать интерфейс от имлементации. cdtyjvА в .Net мне это не сделать. Так как не существует универсального способа класть данные в коллекцию. Идиотизм собственной персоной. это у вас, батенька, ручки кривые. универсальный способ класть данные в коллекцию есть, это IList указали на это уже несколько раз, но вы с упорством, достойным всяческих похвал, продолжаете зарываться рогом в землю. в конце концов, если бы Великий Создатель наделил вас способностью гуглить, вы бы легко нашли топик http://stackoverflow.com/questions/11690147/why-does-icollection-not-contain-an-add-method ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2014, 03:35 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
hVosttв конце концов, если бы Великий Создатель наделил вас способностью гуглить, вы бы легко нашли топикК сожалению Великий Создатель вместо этого наделил его способностью троллить... ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2014, 03:42 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
hVosttуниверсальный способ класть данные в коллекцию есть, это IList указали на это уже несколько раз, но вы с упорством, достойным всяческих похвал, продолжаете зарываться рогом в землю.Бред. IList это частный случай коллекции. А если у меня в руках HashSet? hVosttв конце концов, если бы Великий Создатель наделил вас способностью гуглить, вы бы легко нашли топик http://stackoverflow.com/questions/11690147/why-does-icollection-not-contain-an-add-method Прочитал верхний ответ: "В случае же ICollection<T> мы знаем тип объектов, а потому можем их добавлять ...", закрыл. Эту чушь читать невозможно. ICollection хранит в себе объекты. Это означате, что я могу добавлять туда что-угодно. Перестаньте ссылаться на отстойные источники. То Википедию мне подсовываете, то теперь статью со Стэка с кучей дилетантских ответов. Зачем мне это? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2014, 09:32 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjvАлексей КВ коллекцию нельзя, зато в список можно. IList чем не угодил? Название не нравится?Уже отвечал: потому что любой список это коллекция, но не любая коллекция это список. Например, у меня в руках Queue , мне надо его заполнить. Так понятнее?А если у тебя, например, FileStream будет в руках, тоже его будешь сериализовать? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2014, 09:42 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjvГде-то в степиcdtyjv, пропущено... public Queue(ICollection col) одним ударом через конструктор QueueУточню задачу. У меня в руках есть поток данных, и больше ничего. Из него я вычитываю некий маркер, который говорит мне, что дальше в потоке идет сериализованная коллекция некоего типа. В Java я бы на основании этого типа инстанциировал коллекцию (тут бы возможно потребовался какой-то if/switch), и запихал в нее данные через Add, так как в любую коллекцию можно добавлять данные, это и дураку понятно - на то она и коллекция. А в .Net мне это не сделать. Так как не существует универсального способа класть данные в коллекцию. Идиотизм собственной персоной.Ну напиши набор адаптеров для поддержки добавления во все объекты, которые в твоём понимании являются коллекциями. Ты времени тут на форуме больше потратил. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2014, 09:50 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Алексей К, гипотеза: топикстартер пытается десериализатор явскоко протокола сериализации написать потому - тщательно скрывает, откуда у него информация о десереализуемом типе берётся ("извне", "приходит", "на руках") ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2014, 10:18 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
ИзопропилАлексей К, гипотеза: топикстартер пытается десериализатор явскоко протокола сериализации написать потому - тщательно скрывает, откуда у него информация о десереализуемом типе берётся ("извне", "приходит", "на руках")Может про SOAP ему рассказать? Или рано ещё? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2014, 12:56 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Алексей КА в StringBuilder-е метод добавления называется Append. Чё за бардак? И не говори. Длина массива - Length. Длина коллекции - Count. Ясен пень, что Net - ацтой и маздай! ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2014, 13:27 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Алексей КИли рано ещё? рано. откуда берётся десериализуемый тип - интересно ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2014, 13:28 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Алексей КcdtyjvУ меня простая задача - приходит ICollection или ICollection<>. И мне надо положить туда данные, все.В дотнетах для этого используют IList, о чём было сказано с самого начала. +1. После его появления никакие ICollection не нужны ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2014, 13:31 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Arm79cdtyjv, Может, вы конкретнее покажете? На примере вашей задачи. +1. Мне тоже интересно. При переходе с одного языка на другой сознательно и несознательно тащаться старые привычки. Я фообще не понимаю, зачем опускаться столь низкий на уровень, когда ощущается разница между ICollection и ICollection<T> ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2014, 13:34 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjvИз него я вычитываю некий маркер, который говорит мне, что дальше в потоке идет сериализованная коллекция некоего типа Маркер несет информацию о типе? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2014, 13:38 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
ИзопропилАлексей КИли рано ещё? рано. откуда берётся десериализуемый тип - интересноИз существующего явогового сервера, мне показалось. Решается задача прикрутить к нему дотнетного клиента. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2014, 13:50 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Алексей К, как информация о типе коллекции может звучать в контексте кроссплатформенности? вообще о типе? или xsd аки soap, или примитивы на уровне json или межгалактическое соглашение - контракт для тур дефранс ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2014, 14:00 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Алексей КИз существующего явогового сервера, мне показалось. а мне показалось - из потока сериализации ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2014, 14:10 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
ИзопропилАлексей КИз существующего явогового сервера, мне показалось. а мне показалось - из потока сериализацииНу поток ведь откуда-то берётся. Тут вопрос в другом, если захотелось кроссплатформенного взаимодействия, почему не выбран стандарт? Накой тут велосипед? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2014, 14:15 |
|
|
start [/forum/topic.php?fid=20&msg=38682967&tid=1402627]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
33ms |
get topic data: |
13ms |
get forum data: |
2ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
others: | 315ms |
total: | 448ms |
0 / 0 |