C# 是否可以将列表添加到结构中?

C# 是否可以将列表添加到结构中?,c#,list,data-structures,C#,List,Data Structures,是否可以将列表添加到结构中 public struct test { public string x; list<string> y = new list<string>(); } 公共结构测试 { 公共字符串x; 列表y=新列表(); } 像这样的 我一直在尝试,但我就是不明白。struct可以有一个构造函数,你可以在构造函数中实例化列表。我不是C#方面的专家,但结构只是你的内存外观的原型。您必须声明一个结构变量才能执行“new list()”并将其

是否可以将列表添加到结构中

public struct test
{
    public string x;
    list<string> y = new list<string>();
}
公共结构测试
{
公共字符串x;
列表y=新列表();
}
像这样的


我一直在尝试,但我就是不明白。struct可以有一个构造函数,你可以在构造函数中实例化列表。

我不是C#方面的专家,但结构只是你的内存外观的原型。您必须声明一个结构变量才能执行“new list()”并将其分配给列表变量

struct MyStruct
{
    public List<string> MyList;
    public int MyInt;

    public MyStruct(int myInt)
    {
        MyInt = myInt;
        MyList = new List<string>();
    }
}
类似于结构测试a; a、 y=新列表()


我从来没有用C语言编程过,所以请把我的C语法转换成C语言

您可以这样做-为结构声明一个构造函数,并在结构构造函数中创建一个列表实例。您不能像在代码段中建议的那样使用初始值设定项。

是的,您可以在struct中有一个列表,但不能使用字段初始值设定项对其进行初始化,而必须使用构造函数

struct MyStruct
{
    public List<string> MyList;
    public int MyInt;

    public MyStruct(int myInt)
    {
        MyInt = myInt;
        MyList = new List<string>();
    }
}
struct MyStruct
{
公开名单;
公共int-MyInt;
公共MyStruct(int myInt)
{
MyInt=MyInt;
MyList=新列表();
}
}

“private List y=new List();”给出“错误CS0573:`test.y:”结构不能有实例字段初始值设定项“当然可以用类来完成……还要注意,不能有无参数的构造函数。重点是。。。结构不应引用可变类型(或可变实体的集合)