创建对象数组
本文关键字:数组 创建对象 | 更新日期: 2023-09-27 17:58:00
这个问题似乎经常被问到,但看完所有问题后,我发现我仍然没有得到帮助。我将进入oop的第一步,我需要创建一个属性为"Products"的对象,该对象是一个由"Product"类的多达7个可能对象组成的数组。我只是勉强理解{get;set;}方法,并且正在阅读它,但我希望我能在这里尝试做的语法方面得到一些帮助。我正在使用C#。我的代码如下:
public class Submission
{
public Submission() {}
public int SubmissionId {get;set;}
public int CustId {get;set;}
public int BroId {get;set;}
public int Coverage {get;set;}
public Array Products // what goes here? It's a mystery.
}
在这种情况下,我认为您不想要自动实现的属性。相反,这样做:
//backing store for your public property
private Product[] _products = new Product[7];
public Product[] Products { get {return _products;}}
然后在构造函数中:
foreach(var item in _products) {item = new Product(); }
您可以使用私有setter而不是显式后备存储来完成此操作,但我认为就设置数组的大小而言,这种方式更容易。
请注意,我只为该属性提供了一个getter。您不需要setter,因为这将允许有人用一个全新的数组替换您的属性。仅仅提供一个getter仍然允许有人操纵该属性。此外,通常我建议使用集合而不是数组,但由于您想要固定的项目数大小,因此数组可能更适合。
如果您要使用泛型集合,我会使用:
public List<Product> Products { get; private set; }
或其一些变体。
你可以这样写:
public Products[] { get; set; }
并且在类的构造函数中:
public Submission() {
Products = new Product[7];
}
使用IList
。您可以使用auto属性。