我们知道一个简单的数组可以像这样初始化int [] TestArray = {1,2,3,4}
,但是如果我们使用一个带有结构对象的数组并且我们想要初始化它怎么样?
我知道我们可以像这样访问结构对象数组,例如
假设struct Automobile
是我们的结构,我们在其中有public int year
,public string model
等字段,我们创建一个数组结构对象,例如Automobile [] Car = new Automobile();
,以便我们可以访问结构数组对象的元素,如果我们将它与结构字段一起使用,例如Car[2].year = "2016"
,则可以给它一个值,然后可以显示它,例如,
MessageBox.Show(Car[2].year.ToString());
但是如果我们希望我们的结构数组对象具有初始值,就像我们在正常的数据库初始化中那样在开始时编写它会怎样?
答案 0 :(得分:3)
尝试
var auto = new[]
{
new Automobile {year = 1984, model = "charger"},
new Automobile {year = 1985, model = "challenger"},
new Automobile {year = 1984, model = "hemicuda"}
};
var auto = new[]
是Automobile[] auto = new Automobile[]
的简写,如果您对此感到满意,可以使用它。
答案 1 :(得分:2)
让结构定义如下:
public struct Automobile
{
public int Year { get; set; }
public string model { get; set; }
}
然后您可以创建此结构变量的数组,如下所示:
Automobile[] AutomobileList = new Automobile[] {
new Automobile() {Year=2015,model="Some model1" },
new Automobile() {Year=2014,model="Some model2" },
new Automobile() {Year=2013,model="Some model3" }};
您也可以用类似的方式定义列表;
List<Automobile> AutomobileList = new List<Automobile>() {
new Automobile() {Year=2015,model="Some model1" },
new Automobile() {Year=2014,model="Some model2" },
new Automobile() {Year=2013,model="Some model3" }};