gpt4 book ai didi

c# - 相同对象的数组

转载 作者:行者123 更新时间:2023-12-02 01:18:38 25 4
gpt4 key购买 nike

如果我想声明一个相同对象的数组(我的意思是相同的构造函数参数值)。我可以一次性完成吗?

在下面的示例中,如果我想创建 4 个具有相同尺寸(3、3、2)的盒子对象,我调用了构造函数 4 次。我可以一次性完成吗?

class Program
{
static void Main(string[] args)
{
Box b = new Box(3, 4, 7);
Console.WriteLine(b.getVolume());

Box[] matchBoxes = new Box[4];
matchBoxes[0] = new Box(3, 3, 2);
matchBoxes[1] = new Box(3, 3, 2);
matchBoxes[2] = new Box(3, 3, 2);
matchBoxes[3] = new Box(3, 3, 2);


Console.ReadLine();

}


}

class Box
{
private int length;
private int breadth;
private int height;
public Box(int l, int b, int h)
{
this.length = l;
this.breadth = b;
this.height = h;
}
public int getVolume()
{
return (this.length*this.breadth*this.height);
}

}

最佳答案

这取决于。由于这是一个,您需要调用new 4 次如果您想要获得4 个不同的对象。但是,您的盒子看起来是不可变的;如果您乐于使用同一个对象 4 次(这在这里可能是合理的),您可以使用:

var box = new Box(3,3,2);
var matchBoxes = new[] {box,box,box,box};

如果那是您的 Box 类型的全部,您可能还想考虑将它变成一个 struct(不可变、小、值-esque - definitestruct 候选人)。那么它就没有意义了:它在每个位置是一个不同的。不过,构造可能与上述相同。

关于c# - 相同对象的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7963900/

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