加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 创建一个包含对象数组的类

发布时间:2020-12-15 08:16:38 所属栏目:百科 来源:网络整理
导读:下面的代码定义了一个ChargeCustomer类,它包含一个类型为“customers”的数组.我希望能够根据构造函数参数创建一个具有1个“客户”或2个“客户”的对象.这是在C#中这样做的正确方法: public class ChargeCustomer { private Customer[] customers; public C
下面的代码定义了一个ChargeCustomer类,它包含一个类型为“customers”的数组.我希望能够根据构造函数参数创建一个具有1个“客户”或2个“客户”的对象.这是在C#中这样做的正确方法:
public class ChargeCustomer 
{
    private Customer[] customers;

    public ChargeCustomer( string aName,string bName,int charge )
    {
        customers = new Customer[2];
        customers[0] = new Customer(aName,charge);
        customers[1] = new Customer(bName,charge);  
    }

    public ChargeCustomer( string bName,int charge )
    {
        customers = new Customer[1];
        customers[0] = new Customer( bName,charge );
    }

}

谢谢!

解决方法

注意:这假设DropBox在原始问题中是错误粘贴的.

你可以移动东西并使用params为1个构造函数提供任意数量的名称,如下所示:

public class ChargeCustomer 
{
  private Customer[] customers;

  public ChargeCustomer( int charge,params string[] names)
  {
    customers = new Customer[names.Length];
    for(int i = 0; i < names.Length; i++) {
      customers[i] = new Customer(names[i],charge);
    }
  }
}

使用这种方法,您只需先传递费用和任意数量的客户名称,如下所示:

new ChargeCustomer(20,"Bill","Joe","Ned","Ted","Monkey");

它将创建一个正确大小的数组,并使用相同的费用填充它,并通过循环传入的名称为每个名称1个客户.所有这些,可能是一个更简单的整体解决方案,但没有制作Customer类之外的更改(除了构造函数调用),这将是最简单的方法/最小的更改.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读