2016-05-16 3 views
0

のリスト私はどのようにリストして新しいクラスを初期化しますのC# - リスト

enter image description here

次のデータを多次元のリストを作成したいと思いますか?

私はデータを追加するときに、tyreIDvehicleIDにリンクするにはどうしたらいいですか? 2つのクラスを作成する必要がありますか?

public class ListName 
{ 
    public int vehicleID { get; set; } 
    public string tyresID { get; set; } 
} 
List<ListName> manID = new List<ListName>(); 

編集: の答えをありがとう、私は次のようにあなたの提案を適応させるのに苦労しています。これは、同じロジックですが、私は、テーブルにリストに示されている私は、データを追加することができますどのように、リスト

enter image description here

public class criterias 
{ 
    public double values { get; set; } 
    public double time { get; set; } 
} 

public class movChannels 
{ 
    public string name { get; set; } 
    public IList<criterias> criteria = new List<criterias>(); 
} 

public class stepsList 
{ 
    public string steps { get; set; } 
    public IList<movChannels> stepChannelsCriteria = new List<movChannels>(); 
} 

public class vehicles 
{ 
    public int vehID { get; set; } 
    public string vehDescription { get; set; } 
    public IList<stepsList> vehValCriteria = new List<stepsList>(); 
} 

にデータを書き込むための簡単な方法を見つけることができません。車と呼ばれる?

+0

一つの方法は、グループ化を使用することです:manID.GroupBy( ln => ln.vehicleID) – Beemen

+0

これに正解すれば、多次元配列に複数のプリミティブを結びつけるのではなく、ドメインモデルに意味のあるオブジェクトが作成されます。 Bruno Garciaのように、 –

答えて

7

あなたはタイヤと車両表すためにカップルのクラスを作成することができます。このような何か

public class Tyre 
    { 
     public int Id { get; set; } 
    } 
    public class Vehicle 
    { 
     public string Id { get; set; } 
     public IList<Tyre> Tyres { get; set; } = new List<Tyre>(); 
    } 

を:それを行うには

 var vehicles = new[] 
     { 
      new Vehicle 
      { 
       Id = "XPT1", 
       Tyres = new[] 
       { 
        new Tyre {Id = 23}, 
        new Tyre {Id = 15}, 
       } 
      }, 
      new Vehicle 
      { 
       Id = "OUW2", 
       Tyres = new[] 
       { 
        new Tyre {Id = 212}, 
        new Tyre {Id = 15}, 
       } 
      } 
     }; 
+0

Brunoありがとうございました。値を簡単な方法でリストに挿入するにはどうすればいいですか? Tyresのようなもの.Id.Add = 23 – peetman

+0

わかりません。上記のスニペットでは、リストをどのように初期化できるかを示しています。おそらく、次のようにもっと明らかです: var vehicle = new Vehicle {Id = "XPT1"}; vehicle.Tyres.Add(新しいタイヤ{Id = 23}); var vehicles = newリスト(); 車両。追加(車両); –

+0

トピックの私の編集をご覧ください。おそらく私はちょっと混乱しており、あなたに非常に簡単な例を示しているかもしれません。たぶん、私が必要とするものをよりよく理解するのに役立ちます。 – peetman

0

なぜこれが気に入りませんか?

public class ListName 
       { 
        public int vehicleID { get; set; } 
        List<string > TireIds = new List<string>(); 
       }