Я знаю, что бокс является популярной концепцией с большим количеством доступной информации, но у меня есть несколько вопросов, на которые я не могу найти ответы:
1) Если бокс приводит к тому, что тип значения (структура) преобразуется в объект (ссылочный тип) или ссылочный тип, то зачем использовать тип значения, который будет упакован и понизит производительность? Я знаю о преимуществах и пригодности в определенных случаях структуры или класса. Говорят (1), что значения (типы значений) имеют тенденцию жить в стеке во временном пространстве хранения, но как долго это будет продолжаться? Если мне не нужен тип, как я могу гарантировать, что о нем позаботятся и избавятся в тот момент? Или это где одноразовый узор вступает в игру? Я предполагаю, что причина использования структуры будет из-за ее преимуществ.
Интересно, что если я буду использовать структуру для хранения двух строк и поля DateTime, структура будет содержать две ссылки (строки) и DateTime вместе. Я, очевидно, предполагаю, что это быстрее, чем разбросанные значения. Есть ли что-то, что мне нужно знать в этом дизайне? (2).
1) http://en.csharp -online.net / Классы, структуры и объекты - упаковка и распаковка
2) http://dotnetperls.com/Content/Struct-Examples.aspx
Я провел здесь поиск ответов, которые мне нужны, но не повезло. Я обычно делаю поиск на этом сайте по таким темам, как GC, дженерики, обработка исключений и т. Д., Так как есть много мудрости, чтобы учиться и делиться.
Спасибо за (потенциальное) образование всем авторам! Прошу прощения за любую потенциальную наивность. Обучение внутренним знаниям позволяет мне потратить некоторое время на понимание IL и т. Д. (Что-то, что нужно решить в ближайшее время).