静的クラスに関数呼び出しの終了時に自身をクリアしない静的データを持たせる方法はありますか? は、すなわち、与えられた:静的クラスでデータがクリーンアップされないようにする
static class Class1
{
static int[] _array;
static Class1()
{
_array = new[] {2};
}
public static void FillArray()
{
List<int> temp = new List<int>();
for(int i=0;i<100;i++)
temp.Add(i);
_array = temp.ToArray();
}
public static int[] GetArray()
{
return _array;
}
}
がどのように私はのgetArray()はnull以外の何かを返すように入手できますか?
EDIT:私はこのコードを呼び出したい:
int[] array1 = Class1.GetArray();
for (int i = 0; i < array1.Length;i++)
Console.WriteLine(array1[i]);
Class1.FillArray();
for (int i = 0; i < array1.Length; i++)
Console.WriteLine(array1[i]);
なく2つの2Sを取得します。私はどうすればそれを実現できますか?
しかし、私は静的クラスのデータを変更したい...私は現在のクラスのデータを変更することができます知っている。 – soandos
クラス内のデータを変更しています。 Class1._arrayはFillArray関数の後で変更されています。しかし、なぜあなたのコードが2回2回印刷されているのかは、array1ではなくClass1._arrayでループしているためです。 – Wizetux