Структура Nullable по сравнению с классом

Посмотри на свой алгоритм! Знаете ли вы заранее, какие значения из вашего массива добавляются более одного раза?

Если вы знаете, что можете уменьшить количество циклов и это приведет к лучшей производительности.

13
задан Charlie 12 June 2009 в 12:06
поделиться

2 ответа

В этом случае, да, вероятно, проще сделать вашу структуру классом.

Что касается обоснования, вы, по сути, создаете специализированный кортеж . Интересно отметить, что разработчики библиотеки решили сделать .Net 4 Tuple классом, а не структурой. (Эта страница является создателем кортежа и связана с различными классами экземпляров кортежа)

10
ответ дан 2 December 2019 в 00:03
поделиться

Любой из них должен работать нормально (пока структура неизменна). DateTime и ссылки не должно быть достаточно, чтобы сделать его слишком большим.

Я предполагаю, что вы используете его в качестве значения (а не ключа ) в словаре? Если используется в качестве ключа, вам необходимо переопределить Equals и GetHashCode () , независимо от struct vs class .

6
ответ дан 2 December 2019 в 00:03
поделиться