C# · 12月 24, 2021

c# – 有没有办法创建一个静态的readonly数组,但这些值是在构建时计算的

有没有办法我可以创建一个具有readonly值的静态数组,但是使用一些逻辑来创建它?让我试着解释一下:

我知道我可以做到这一点:

public static readonly int[] myArray = { 1,2,3 };

但是可以做一些像:

public static readonly int[] myArray2 = { for (int i = 0; i < 256; i++) { float[i] = i; }};

编辑:
一个很好的解决方案我的问题:静态构造函数! http://msdn.microsoft.com/en-us/library/k9x6w0hc%28v=VS.100%29.aspx:D

解决方法 你可以做的是: public class YourClass{ public static readonly int[] myArray2 = null; static YourClass() { myArray2 = new int[256]; for (int i = 0; i < 256; i++) { myArray2 [i] = i; } }}

要么:

public static readonly int[] myArray2 = Enumerable.Range(0,255).ToArray();