In einem Array mit Elementen vom Typ value müssen alle Elemente vom gleichen Typ sein. Das Objekt, das das Array enthält, muss Informationen über den Typ der darin enthaltenen Elemente speichern, aber diese Informationen werden nur einmal pro Array gespeichert und nicht einmal pro Element.
Beachten Sie, dass Arrays, die eine spezielle Behandlung im .NET Framework erhalten (verglichen mit anderen Auflistungstypen) Arrays eines Strukturtyps ermöglichen, dass Elemente der darin enthaltenen Strukturen "direkt" verarbeitet werden. Wenn man sich darauf beschränken kann, eine Struktur innerhalb eines Arrays zu speichern (anstatt eines anderen Sammlungstyps) und das unnötige Kopieren von Strukturinstanzen minimieren kann, ist es folglich möglich, effizient mit Strukturen nahezu jeder Größe zu arbeiten. Wenn man eine Sammlung von Dingen halten muss, von denen jeder vier Werte von Int64
und vier Werte von Int32
(insgesamt 48 Bytes) zugeordnet hat, kann die Verwendung eines Arrays aus acht Elementen mit exponierten Feldstrukturen effizienter und semantischer sein sauberer als jede Sache mit vier Elementen aus einer Int64[]
und vier Elemente aus einer Int32[]
, oder mit einem Array von Referenzen auf nicht gemeinsam genutzte veränderbare Klassenobjekte.
Nichts besser als Beweise, mit seiner replizierbaren Extraktionsmethode. Vielen Dank! –