Код: Выделить всё
public class Polygon
{
////////// Static //////////
public static readonly Polygon[] Items;
////////// Constructor //////////
public readonly int Index;
public readonly Ring[] Rings; // [0, 1+[ 0 : Outer ring, 1+ : Inner ring.
...
public Polygon(int index, Ring[] rings) { ... }
////////// NOT Constructor (but init-only) //////////
public MultiPolygon MultiPolygon;
...
}
Я знаю, что JIT-компилятор исключает проверку границ во многих случаях. простые случаи в C#, в которых использование указателей и небезопасного кода часто является избыточным. Как я могу убедиться, что он исключает проверку границ при доступе к Class.Items каждый раз, не переписывая все это с помощью указателей?
Я использую C# 8 только с некоторыми особенности C#9, и я не могу использовать ключевое слово init. (Не уверен, что это будет решением.)
Подробнее здесь: https://stackoverflow.com/questions/790 ... classes-in