C# 在C初始化对象中添加或添加要列表的范围
如中所述,我有一个只读列表的对象,如下所示:C# 在C初始化对象中添加或添加要列表的范围,c#,.net,initialization,C#,.net,Initialization,如中所述,我有一个只读列表的对象,如下所示: public class MyClass { public int id { get; set; } public List<string> stringList { get; } = new List<string>; } 您可以将不太明显的语法用于: 但在C 9发布之前,处理只读属性的通常方法是在构造函数中传递初始化值。您可以使用不太明显的语法: Bur在C 9发布之前,处理只读属性的通常方法是在构造函数中传递初
public class MyClass {
public int id { get; set; }
public List<string> stringList { get; } = new List<string>;
}
您可以将不太明显的语法用于:
但在C 9发布之前,处理只读属性的通常方法是在构造函数中传递初始化值。您可以使用不太明显的语法: Bur在C 9发布之前,处理只读属性的通常方法是在构造函数中传递初始化值。您可以在构造函数中将stringList作为参数传递,并将属性分配给参数:
public class MyClass {
public int id { get; set; }
public List<string> stringList { get; } = new List<string>();
public MyClass(List<string> stringList) {
this.stringList = stringList;
}
}
您可以将stringList作为参数传递到构造函数中,并将属性指定给参数:
public class MyClass {
public int id { get; set; }
public List<string> stringList { get; } = new List<string>();
public MyClass(List<string> stringList) {
this.stringList = stringList;
}
}
您可以将数据传递给类构造函数并将其添加到只读列表中。您可以将数据传递给类构造函数并将其添加到只读列表中。由于stringList是只读的,因此此操作不起作用。您必须将项目添加到现有列表中:this.stringList.AddRangestringList@Ben Yes会的,因为您可以从构造函数初始化只读属性。真正的问题是新列表后缺少此列表将不起作用,因为stringList是只读的。您必须将项目添加到现有列表中:this.stringList.AddRangestringList@Ben是的,因为您可以从构造函数中初始化只读属性。真正的问题是缺少“新建后”列表
public class MyClass {
public int id { get; set; }
public List<string> stringList { get; } = new List<string>();
public MyClass(List<string> stringList) {
this.stringList = stringList;
}
}