2016-05-16 4 views
0

を返す3クラス:C#の - プロパティは、私が持っているな長さの配列

public class Customer 
{ 
    public string FirstName { get; set; } 

    public string LastName { get; set; } 
}; 

public class count 
{ 
    public int number 
    { 
     get 
     { 
      return 1; 
     } 
     set 
     { 
     } 
    } 
} 

public class myclass 
{ 
    public Customer[] Customer { get; set; } 

    public count number { get; set; } 
} 

そして、もう一つのインスタンス:

myclass myclass = new myclass() 
{ 
    Customer = new Customer[] 
    { 
     new Customer() 
     { 
      FirstName = "FirstName1", 
      LastName = "LastName1" 
     }, 
     new Customer() 
     { 
      FirstName = "FirstName2", 
      LastName = "LastName2" 
     } 
    }, 
    number = new count() 
}; 

私は、配列の顧客[顧客の数を返しcount.numberプロパティをしたいです]。

は、私がどのように行うには、私の配列カスタマー[]

の要素数を取得するために別のクラスを持っている必要がありますか?

のTh

+0

「Customer.Lenght」についてはどうですか? – raidensan

答えて

2

あなたの財産は、それだけで動的配列の長さを返す必要があり、セッターを持つべきではありません。

public class myclass 
{ 
    public Customer[] Customer { get; set; } 

    public int number 
    { 
     get { return Customer.Length; } 
    } 
} 

その後、あなたはそれを手動で設定する必要はありません(手動で、もっと重要なのは、をかそれが配列の変化と同期しておく):このような何か。

あなたはこと(あなたが本当にがする必要はないはずですが、何でも)クラスの整数をラップする必要がある場合は、単にそのクラスのインスタンスを返す:

public class myclass 
{ 
    public Customer[] Customer { get; set; } 

    public count number 
    { 
     get { return new count { number = Customer.Length; } } 
    } 
} 

をしかしあなた構造つまり、クラス内のプリミティブ値をラップする理由は何であれ、手作業で自分自身を追跡しなくても、配列の.Lengthをオンザフライで取得できるということです。配列はどれくらいの長さかを知っています。

関連する問題