Чем Структура отличается от Соответствия #447871


#0 by TDI
Чем эти колекции значений отличаются друг от друга? И там КлючИЗначение , и итам... не пойму.. может кто нить пояснить?
#1 by Волшебник
У соответствия ключ может быть почти любого типа. Обращение только через [] Для ключей примитивных типов используется индекс (значение можно получить ОЧЕНЬ быстро, даже если там миллионы строк)
#2 by TDI
А у соответствия ключ примитивного типа не может быть ?
#3 by zbv
почему у тебя возник этот вопрос?
#4 by Волшебник
Не понял твою логику. Может быть.
#5 by Волшебник
Ключ структуры должен быть строкой, удовлетворяющей требованиям к идентификаторам. Т.е. может содержать буквы, цифры и знак подчёркивания, не может начинаться с цифры.
#6 by НЕА123
согласен с по возможности использую структуру - проще с ней работать.
#7 by Mort
Странный выбор типа объекта по тому как проще с ним работать. Имхо, в каждой задаче используется то, что надо для задачи.
#8 by Jolly Roger
забудь, что Структура является коллекцией, и все станет понятно...
#9 by sergeante
+1
#10 by Mort
С чего бы? Элементы коллекции: КлючИЗначение Для объекта доступен обход коллекции посредством оператора Для каждого … Из … Цикл. При обходе выбираются элементы коллекции.
#11 by YauheniL
В С++ есть аналоги struct без методов и Map в STL
#12 by Jolly Roger
с того, что это - идеологически неправильно...
#13 by Mort
Пришла структура и я хочу проверить соответствует ли она структуре полей моей структуре. Я обхожу элементы коллекции и проверяю. В чем "идеологическая" ошибка?
#14 by Mort
*моей структуры
#15 by Jolly Roger
идеологически правильнее было бы рефлексию вынести в отдельный интерфейс. но, благодаря тому, что 1с - "доступно и всерьез", имеем то, что имеем. это во-первых. а во-вторых, если состав "твоей структуры" заранее неизвестен, наверно, имеет смысл заюзать другой тип...
#16 by Mort
"Идеологически" это как в C++ struct?
#17 by Jolly Roger
переведи
#18 by Mort
ты говоришь все время "идеологически правильно". Что за идеология ? С++? Своя придуманная?
#19 by Лефмихалыч
Почему же? Очень удобно, помня о том, что структура - это коллекция, делать всякие такие штуки:
#20 by Лефмихалыч
ну, только циклы местами перепутал
#21 by Jolly Roger
излишне напоминать, что все, написанное мной выше, - сугубо имхо... в качестве прототипа "идеологии" имею ввиду дотнет...
#22 by Jolly Roger
почему именно структура?
#23 by Mort
В дотнет аналог 1С структуры это dictionary , который отлично обходится циклом foreach..
#24 by Jolly Roger
в результате, в 1сv8 имеем два класса с перекрывающимся на 90% функционалом: две коллекции - аналоги словаря и хештейбла в дотнете. если бы Структура по функционалу была аналогична структуре дотнета, было бы идеологически правильно...
#25 by Лефмихалыч
потому, что у соответствия конструктора такого удобного нет
#26 by luns
Насколько я понимаю "внутренности", то структура и соответствие это массивы. Просто с разными типами индексов. Не проверял и не видел такой инфы, но думаю что с ключами примитивных типов структура будет быстрее соответствия, кроме того структура удобна обращениями типа: МояСтруктура.МоеЧтоТо без Получить.
#27 by Лефмихалыч
>>
#28 by Jolly Roger
нетрудно сделать чтоб был...
#29 by Лефмихалыч
во-первых, лишние буквы, во-вторых, если нет доступа до конфигурации (например), то это дублирование кода получится в промышленных масштабах
#30 by Лефмихалыч
+ а за дублирование кода нужно вешать за йайцы
#31 by Jolly Roger
начинай вешать с разработчиков в8...
#32 by Jolly Roger
была бы Структура структурой - все бы юзали соответствие и не жужжали бы...
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С