更快/更好的办法是这样做初始化对象属性
Planets Mercury = new Planets();
Mercury.PlanetName = "Mercury";
Mercury.DistanceFromSun = 58000000;
Mercury.Mass = 33;
Mercury.EarthDaysForOrbit = 88;
Mercury.NumberOfMoons = 0;
但更有效地/快/更好的办法吗?
更快/更好的办法是这样做初始化对象属性
Planets Mercury = new Planets();
Mercury.PlanetName = "Mercury";
Mercury.DistanceFromSun = 58000000;
Mercury.Mass = 33;
Mercury.EarthDaysForOrbit = 88;
Mercury.NumberOfMoons = 0;
但更有效地/快/更好的办法吗?
var Mercury = new Planets()
{
PlanetName = "Mercury",
DistanceFromSun = 58000000,
Mass = 33,
EarthDaysForOrbit = 88,
NumberOfMoons = 0
}
此代码是短,但它会稍微慢一点,因为实际上编译器将创建临时变量,首先初始化,然后指定这个价值,你的实际变量。
它是如何更有效/更快/更好?这也是问题的一部分 –
如果你把一些你认为/知道得更有效/更快/更快的代码,请至少解释_why_和/或显示一些测试结果这可以验证你的假设。 –
则可以使用object initializer这样做:
Planets Mercury = new Planets
{
PlanetName = "Mercury",
DistanceFromSun = 58000000,
Mass = 33,
EarthDaysForOrbit = 88,
NumberOfMoons = 0
};
使用对象初始化将第一关是一个对象就不会得到部分初始化的好处。除此之外,这只是语法糖,您可以节省时间,无需为每个要添加的属性编写实例名称。
错误对象必须是这个formet行星水星=新行星() –
它是如何“更有效/更快/更好?” –
@KuttyRajeshValangai当使用对象初始值设定项时,它不需要使用palenthesis! :) –
请解释_why_这不够高效/快捷/好吗?我会建议在[CodeReview.SE]上提问,但我认为这也不适合。 –
你指的是什么“更有效/更快/更好”?这是否意味着“更快”?不,没有这样的改进。 这是否意味着“更清洁”?有些东西你可以做,就像其他答案中提到的那样称为Object initializer。 – HimBromBeere