1

まず、Java で作成したアプリケーションを再作成しようとしている C# の初心者です。

私は4つのリストボックスを持っています。各ボックスには、xml ファイルからの値のリストが保持されます。

のlistBox_year <Year>。のlistBox_make <Make>。の listBox_model <Model>. listBox_subModel は<sub-Model>.

したがって、すべての年を重複することなく listBox_year に追加するとします。年をクリックすると、その年のすべてのメーカーの車が表示されます。次に、メーカーをクリックすると、その年にあるそのメーカーのモデルが表示されます...

Javaを使用すると、HashMapを使用して、同じ名前の複数のキーを持つことができ、この場合はキーを検索して、その年が選択されているすべてのメイクまたは値を取得できます。鍵。

XML形式はこちら

<?xml version="1.0" encoding="utf-8" ?>
<vehicles>

  <Manufacturer>
    <Make>Subaru</Make>
    <Year>2010</Year>
    <Model>Impreza</Model>
    <Sub-Model>2.0i</Sub-Model>
    <Highway>36 MPG highway</Highway>
    <City>27 MPG city</City>
    <Price>$17,495</Price>
    <Description>
      Symmetrical All-Wheel Drive. 
      SUBARU BOXER® engine. 
      Seven airbags standard. 
      >Vehicle Dynamics Control (VDC). 
    </Description>
  </Manufacturer>

  <Manufacturer>
    <Make>Toyota</Make>
    <Year>2012</Year>
    <Model>Supra</Model>
    <Sub-Model>TT</Sub-Model>
    <Highway>22 MPG highway</Highway>
    <City>19 MPG city</City>
    <Price>$48,795</Price>
    <Description>
      16-inch aluminum-alloy wheels.
      6-speaker audio system w/iPod® control.
      Bluetooth® hands-free phone and audio.
      Available power moonroof.
    </Description>
  </Manufacturer>

  <Manufacturer>
    <Make>Subaru</Make>
    <Year>2011</Year>
    <Model>Impreza</Model>
    <Sub-Model>2.0i Limited</Sub-Model>
    <Highway>36 MPG highway</Highway>
    <City>27 MPG city</City>
    <Price>$18,795</Price>
    <Description>
      16-inch aluminum-alloy wheels. 
      6-speaker audio system w/iPod® control. 
      Bluetooth® hands-free phone and audio. 
      Available power moonroof.
    </Description>
  </Manufacturer>

  <Manufacturer>
    <Make>Subaru</Make>
    <Year>2011</Year>
    <Model>Impreza</Model>
    <Sub-Model>2.0i Limited</Sub-Model>
    <Highway>36 MPG highway</Highway>
    <City>27 MPG city</City>
    <Price>$18,795</Price>
    <Description>
      16-inch aluminum-alloy wheels.
      6-speaker audio system w/iPod® control.
      Bluetooth® hands-free phone and audio.
      Available power moonroof.
    </Description>
  </Manufacturer>

</vehicles>
4

1 に答える 1

1

Javaハッシュマップに最も近いタイプは辞書です。同じキーを持つ複数のアイテムが必要なので、を使用しDictionary<int,List<Item>>ます。必要になる可能性のある基本的な機能は次のとおりです。

void AddItem(int key, Item i, Dictionary<int,List<Item>> dict)
{
   if (!dict.ContainsKey(key))
   {
      dict.Add(i,new List<Item>());
   }
   dict[key].Add(i);
}

List<Item> GetList(int key)
{
   if (dict.ContainsKey(key))
   {
      return dict[key];
   }
   else
   {
      return new List<Item>(); // can also be null
   }
}
于 2012-05-13T22:46:34.757 に答える