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