如何一次性给对象数组赋值?

时间:2021-01-10 08:09:52
一个SE类里面是
    public class SE
    {
        public int Age { get; set; }
        public string Name { get; set; }
        public int ID { get; set; }
        private string assess = "未评价";

        public string Assess
        {
            get { return assess; }
            set { assess = value; }
        }
        private int score = 0;

        public int Score
        {
            get { return score; }
            set { score = value; }
        }
    }
然后我创建一个SE类的数组
         SE[] se=new SE[3];
        public FrmShow()
        {
            InitializeComponent();
        }
        public void BindLv() 
        {
            se[0] = new SE();
原本赋值是se[0].name="XXX";
se[0].id=000;
请问我可以一次性的赋值吗?
new的时候直接赋值?
        }

7 个解决方案

#1


SE[] se = new SE[] 

    new SE() { Name = "a" }, 
    new SE() { Name = "b" }, 
    new SE() { Name = "c" } 
};

#2


在SE类中加个构造函数:
public SE(int age, string name, int id, int score)
        {
            this.Age = age;
            this.Name = name;
            this.ID = id;
          

然后就可以直接初始化各个变量。
SE[] se = new SE[] { 
                new SE(10,"a",1,99){},
                new SE(11,"b",1,98){},
                new SE(12,"c",1,97){}
            };

#3


引用 2 楼 guwei4037 的回复:
在SE类中加个构造函数:
public SE(int age, string name, int id, int score)
        {
            this.Age = age;
            this.Name = name;
            this.ID = id;
          

然后就可以直接初始化各个变量。
SE[] se = new SE[] { 
                new SE(10,"a",1,99){},
                new SE(11,"b",1,98){},
                new SE(12,"c",1,97){}
            };
请问我如何访问数组中的不同元素呢?
对象名[下标]不可以呀.

#4


上接2楼的代码,如果初始化了一个SE数组对象,那么SE[0]、SE[1]、SE[2]就分别为3个对象。刚测试过,是可以取出SE[0].Age属性的,并且为10的。

#5


给属性设置默认值,

#6


c#语言可以写得很优雅:
SE[] se = { new SE { Name = "a" }, new SE { Name = "b" }, new SE { Name = "c" } };

#7


引用 6 楼 sp1234 的回复:
c#语言可以写得很优雅:
SE[] se = { new SE { Name = "a" }, new SE { Name = "b" }, new SE { Name = "c" } };
如何一次性给对象数组赋值?

#1


SE[] se = new SE[] 

    new SE() { Name = "a" }, 
    new SE() { Name = "b" }, 
    new SE() { Name = "c" } 
};

#2


在SE类中加个构造函数:
public SE(int age, string name, int id, int score)
        {
            this.Age = age;
            this.Name = name;
            this.ID = id;
          

然后就可以直接初始化各个变量。
SE[] se = new SE[] { 
                new SE(10,"a",1,99){},
                new SE(11,"b",1,98){},
                new SE(12,"c",1,97){}
            };

#3


引用 2 楼 guwei4037 的回复:
在SE类中加个构造函数:
public SE(int age, string name, int id, int score)
        {
            this.Age = age;
            this.Name = name;
            this.ID = id;
          

然后就可以直接初始化各个变量。
SE[] se = new SE[] { 
                new SE(10,"a",1,99){},
                new SE(11,"b",1,98){},
                new SE(12,"c",1,97){}
            };
请问我如何访问数组中的不同元素呢?
对象名[下标]不可以呀.

#4


上接2楼的代码,如果初始化了一个SE数组对象,那么SE[0]、SE[1]、SE[2]就分别为3个对象。刚测试过,是可以取出SE[0].Age属性的,并且为10的。

#5


给属性设置默认值,

#6


c#语言可以写得很优雅:
SE[] se = { new SE { Name = "a" }, new SE { Name = "b" }, new SE { Name = "c" } };

#7


引用 6 楼 sp1234 的回复:
c#语言可以写得很优雅:
SE[] se = { new SE { Name = "a" }, new SE { Name = "b" }, new SE { Name = "c" } };
如何一次性给对象数组赋值?