C # Объяснение концепции имени объекта - PullRequest
0 голосов
/ 25 ноября 2018

Со словарем со вложенным классом, например: Dictionary<int, BankAccount>, в чем разница между созданием класса сначала как объекта, затем связыванием его с новым словарем и созданием объекта непосредственно в самом словаре, например:

  • dict.Add(1, new BankAccount());
  • var acc = new BankAccount(); dict.Add(1, acc);

Есть ли польза от использования одного над другим?

Ответы [ 2 ]

0 голосов
/ 25 ноября 2018

Преимущество создания объекта и добавления его по ссылке заключается в том, что вы удерживаете ссылку в текущем методе и, таким образом, имеете полный доступ к ней.

Если вы создаете объект в соответствии сметод add, вам нужно будет извлечь объект из словаря, чтобы получить доступ.

Я не вижу никаких других отличий.Первое создание объекта может иметь преимущества в сопровождении кода, если позже вы узнаете, что объект необходимо изменить.

0 голосов
/ 25 ноября 2018

Единственное реальное отличие, которое я могу себе представить, заключается в том, что если вы используете первую опцию, сборщик мусора не должен удерживать ссылку на переменную и может быстрее освободить память.Кроме этого, более кратко выбрать первый вариант.Функционально ваши опции выполняют ту же задачу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...