Недавно я сделал небольшое приблизительное измерение производительности List<>
vs []
для массива небольших структур. System.Array, казалось, выиграл руки, поэтому я пошел с этим.
Мне просто казалось, что System.Array содержит типы объектов, поэтому, конечно, заполнение его структурами может привести к возникновению бокса?
Однако запись MSDN для System.Array гласит:
В .NET Framework версии 2.0 класс Array реализует
System.Collections.Generic.IList<T>
System.Collections.Generic.ICollection<T>
иSystem.Collections.Generic.IEnumerable<T>
общие интерфейсы. реализации выполняются в массивы во время выполнения, и поэтому не видны инструментам сборки документации. В результате общий интерфейсы не отображаются в синтаксисе объявления для массива класса, и нет никаких эталонных тем для членов интерфейса, которые доступны только путем заливки массива в общий тип интерфейса (явные реализации интерфейса).
Означает ли это, что бокс не происходит в конце концов? (И объяснил бы мои результаты работы)