|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
13.04.2017, 16:14 | #1 |
Спокойный псих
Участник клуба
Регистрация: 19.03.2013
Сообщений: 1,538
|
Объединение однотипных Dictionary
Здравствуйте. Есть два словарика, у обоих типы данных - Dictionary<UnitType,int>.
UnitType - это enum. Важное условие: в одном словаре может присутствовать ключ, который в другом словаре может отсутствовать. Так же - нулевое значение для какого либо ключа недопустимо. Нужно организовать полное слияние этих словарей по закону: к значению каждого ключа первого словаря добавить количество этого же ключа во втором словаре; если в первом или втором словаре отсутствует какой либо ключ, но присутствует в одном из этих словарей - ключ с количеством должен быть в результате слияния. Это нужно реализовать только руками ? Иль уже есть готовый метод ?
Подпись ? Не, не слышал ...
|
13.04.2017, 16:34 | #2 |
Спокойный псих
Участник клуба
Регистрация: 19.03.2013
Сообщений: 1,538
|
Что то вроде соорудил, но нет возможности смоделировать ситуацию, в которой эта функция понадобится. Долго объяснять.
Помогите пожалуйста проверить правильность решения поставленной задачи. Код:
Подпись ? Не, не слышал ...
|
13.04.2017, 17:16 | #3 |
Пользователь
Регистрация: 11.04.2017
Сообщений: 64
|
1. Зачем пустые блоки else {}?
2. Обнулять types необязательно - при выходе из метода, когда система посчитает это допустимым - сборщик сам удалит объект. А в остальном - почему бы и нет. |
13.04.2017, 18:35 | #4 |
Спокойный псих
Участник клуба
Регистрация: 19.03.2013
Сообщений: 1,538
|
Это мой code-style; с практической точки зрения - при большом количестве вложений могу запутаться в разветвлениях. Выход - ввести в привычку писать все части конструкций.
Я знаю про сборщик; опять же - вопрос привычки ... На плюсах сборкой мусора никто не занимается, не хочу отвыкать.
Подпись ? Не, не слышал ...
|
13.04.2017, 20:51 | #5 |
Пользователь
Регистрация: 11.04.2017
Сообщений: 64
|
Ну как бы Dispose() и null это совершенно разные вещи, а разве на плюсах обнуление ссылки высвобождает память?
|
13.04.2017, 22:00 | #6 |
Спокойный псих
Участник клуба
Регистрация: 19.03.2013
Сообщений: 1,538
|
hoolygan, высвобождение ссылки не освобождает память ...
Яж говорю, тут чисто вопрос привычки, что бы я не забывал подчищать за собой. Я делаю Dispose() там, где он есть. Конкретно здесь его нет. И, конкретно в этой ситуации для высвобождения памяти массива на плюсах нужно было бы написать delete[] types.
Подпись ? Не, не слышал ...
|
14.04.2017, 08:32 | #7 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Цитата:
хотя насколько я помню, с вами на этот счет разговаривать бесполезно. а чего бы не так? работает на любом количестве словарей. Код:
С++ это С++, C# это C#. я пишу не на одном языке, и мне ж как-то это не мешает. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|
14.04.2017, 17:31 | #8 |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,085
|
Код:
|
14.04.2017, 18:22 | #9 |
Спокойный псих
Участник клуба
Регистрация: 19.03.2013
Сообщений: 1,538
|
Это про меня.
В этом и проблема. Вы - это вы. Я - это я. Со мной разговаривать об этом бесполезно.
Подпись ? Не, не слышал ...
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Dictionary<TKey, TValue>(Int32) | hoz | Общие вопросы .NET | 7 | 16.12.2015 20:58 |
C++ Реализовать класс Dictionary | lixod96 | Visual C++ | 0 | 12.12.2014 17:22 |
Объединение однотипных csv файлов | myosotis | Microsoft Office Excel | 4 | 29.01.2013 23:23 |
вопрос по Dictionary | atagilov | C# (си шарп) | 2 | 08.10.2011 16:11 |
Dictionary | bank_notes | Microsoft Office Excel | 3 | 23.02.2010 01:12 |