gpt4 book ai didi

c# - 匿名初始化是否覆盖默认值,还是在之后运行?

转载 作者:太空宇宙 更新时间:2023-11-03 22:08:15 24 4
gpt4 key购买 nike

如果我设置了默认初始化程序,并且在创建对象时定义了一个匿名初始化程序。是默认跳过,还是之前运行?我想知道的原因是因为在下面的例子中,如果它们在之后运行,默认创建的List对象将被立即丢弃,从而产生不必要的垃圾。

class ArrangedPanel : RectElement
{
public List<RectElement> arrangedChildren = new List<RectElement>();
public int Padding = 2;
}

//Somewhere else
new ArrangedPanel()
{
Padding = 5,
arrangedChildren = new List<RectElement>()
{
new ButtonToggle(),
new ButtonToggle()
}
}

最佳答案

在您的示例代码中,Padding = 2发生在 Padding = 5 之前.

您不必要地创建了一个 List<RectElement> ,但我会向您提出挑战,让您创建一个场景,在该场景中,此类不必要的分配会导致任何明显的性能下降。

关于c# - 匿名初始化是否覆盖默认值,还是在之后运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7646854/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com