有没有办法做到这一点
Planets Mercury = new Planets();
Mercury.PlanetName = "Mercury";
Mercury.DistanceFromSun = 58000000;
Mercury.Mass = 33;
Mercury.EarthDaysForOrbit = 88;
Mercury.NumberOfMoons = 0;
但更有效/更快/更好?
答案 0 :(得分:2)
var Mercury = new Planets()
{
PlanetName = "Mercury",
DistanceFromSun = 58000000,
Mass = 33,
EarthDaysForOrbit = 88,
NumberOfMoons = 0
}
此代码较短但速度稍慢,因为实际编译器会创建临时变量并首先对其进行初始化,然后将此值分配给实际变量。
答案 1 :(得分:2)
你可以使用object initializer这样做:
Planets Mercury = new Planets
{
PlanetName = "Mercury",
DistanceFromSun = 58000000,
Mass = 33,
EarthDaysForOrbit = 88,
NumberOfMoons = 0
};
使用对象初始化程序的好处首先是对象不会被部分初始化。更重要的是,这只是语法糖,您可以节省时间,而不必为要添加的每个属性编写实例名称。