C# で探している単語は "const" です。
const int SOMETHING = 10;
SIZE も定数でなければならないことに注意してください。
また、定数は int、bool、string、char などの型のみにすることができます (基本型のみ)。
したがって、配列やクラスなど、何か他のものが必要な場合は、次のようにできます。
static readonly int[] PRED = new int[this.Nf];
静的な読み取り専用は、論理的に正確に const を意味しますが、舞台裏で少し異なるように定義されているため、より自由に操作できます。(できる場合 - 静的な読み取り専用の代わりに定数を定義する必要があります)
配列自体は実行中に変更されないため、これを行うことはできません。
PRED = new int[3]; // Error
PRED = null; // Error
PRED = PRED; // Error
ただし、PRED 配列内の値を変更することはできます。
PRED[0] = 123;
読み取り専用のコレクションが必要な場合は、ReadOnlyCollection オブジェクトを使用できます。そのオブジェクトも定数にしたい場合は、静的読み取り専用の組み合わせを使用できます (定数はクラスであるため使用できません)。次のようになります。
static readonly ReadOnlyCollection<int> PRED = new ReadOnlyCollection<int>(new[] {1, 2, 5, 6});
そして、PRED は常に PRED であり、サイズは常に 4 であり、常に 1、2、5、6 を含みます。
PRED = PRED; // Error (static readonly)
PRED = null; // Error (static readonly)
PRED[1] = 0; // Error (ReadOnlyCollection enforces readonly on the elements)
int i = PRED[1]; // Still works, since you aren't changing the collection.