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

前端之家收集整理的这篇文章主要介绍了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();

猜你在找的C#相关文章