如何声明静态只读列表?

How to declare a Static Readonly List?

我有一个结构,我想要一个这种类型的静态只读列表。 在只读中,找不到结构属性(HexCode、Name)。使它们 public 不会改变任何东西。

结构声明如下:

public struct FixedDataStruct
{
    string HexCode;
    string Name;
}

这是列表:

private static readonly List<FixedDataStruct> myList= new List<FixedDataStruct>
{
        { HexCode = "12", Name = "Chenger" };
};

怎么样?

private static readonly List<FixedDataStruct> myList = new List<FixedDataStruct>
{
    new FixedDataStruct("12","Chenger")
};

public struct FixedDataStruct
{
    public FixedDataStruct(string hexCode, string name)
    {
        HexCode = hexCode;
        Name = name;
    }

    string HexCode;
    string Name;
}

未找到 HexCode 和 Name,因为它们是 FixedDataStruct 的字段,但您正在分配它们,就好像它们是 List 对象中匿名对象的成员一样。您必须先创建一个 FixedDataStruct 的实例,将其添加到列表中,并为其分配字段:

public struct FixedDataStruct
{
    public string HexCode;
    public string Name;
}

private static readonly List<FixedDataStruct> myList = new List<FixedDataStruct>() { 
    new FixedDataStruct() { HexCode = "12", Name = "Chenger" }
};