Gibt es eine gute Möglichkeit, ein Array fester Größe in .NET zu implementieren, die keinen unsicheren Code erfordert?Sind effiziente Arrays fester Größe möglich, ohne unsicheren Code in .NET zu verwenden?
Mein Ziel ist es, einen Werttyp zu erstellen, der ein Array fester Größe darstellt, das in andere Typen eingebettet (eingeschlossen) werden kann - dh ich hoffe speziell, ein Array nicht als eigenständiges Objekt zu erstellen Typ, der es erklärt.
Ich weiß, dass .NET-Implementierung von Arrays ist hervorragend und unterstützt auf CLR/CIL-Ebene - und nicht wirklich darüber diskutieren wollen, ob oder nicht nur Arrays verwenden ... die Untersuchung hier ist, ob ein Safe , feste Größe, Werttyp Implementierung ist möglich mit fast so gut Effizienz.
Können Sie mir helfen zu verstehen, welchen Vorteil dies bietet, dass ein gewöhnliches Array (innerhalb des Typs deklariert) nicht kann? Es ist schwierig, eine alternative Implementierung zu finden, wenn ich nicht einmal weiß, was das Ziel ist. Geht es darum, einige der Einwände gegen die hier beschriebenen Arrays zu beseitigen ?: http://blogs.msdn.com/b/ericlippert/archive/2008/09/22/arrays-consided-somewhat-harmful.aspx –
@Robert: The Ziel ist es, in der Lage zu sein, ein Array vom Typ fester Größe zu haben, das als privates Mitglied auf anderen Typen verwendet werden kann. Stellen Sie sich ein benutzerdefiniertes Wörterbuch oder eine Implementierung einer verknüpften Liste vor ... Die Anzahl der Heapzuweisungen kann reduziert werden, wenn jeder Bucket/Node flachgelegt wird, um sein eigenes Array fester Größe zu enthalten. – Mark