HybridDictionary クラスとは? わかりやすく解説

HybridDictionary クラス

コレクション小さいうちは ListDictionary を使用して IDictionary実装し、コレクション大きくなったら Hashtable切り替えます

名前空間: System.Collections.Specialized
アセンブリ: System (system.dll 内)
構文構文

<SerializableAttribute> _
Public Class HybridDictionary
    Implements IDictionary, ICollection, IEnumerable
Dim instance As HybridDictionary
[SerializableAttribute] 
public class HybridDictionary : IDictionary,
 ICollection, IEnumerable
[SerializableAttribute] 
public ref class HybridDictionary : IDictionary,
 ICollection, IEnumerable
/** @attribute SerializableAttribute() */ 
public class HybridDictionary implements IDictionary,
 ICollection, 
    IEnumerable
SerializableAttribute 
public class HybridDictionary implements IDictionary,
 ICollection, 
    IEnumerable
解説解説

ディクショナリの要素数が不明な場合は、このクラスお勧めます。このクラスには、コレクション小さいうちは ListDictionary向上したパフォーマンス利用しコレクション大きくなったら、大きコレクションListDictionary よりも効率的に処理できる Hashtable切り替えるという柔軟性あります

コレクション初期サイズListDictionary最適サイズより大きい場合ListDictionary から Hashtable要素コピーするオーバーヘッド避けるために、コレクションHashtable格納されます。

コンストラクタには、コレクション文字列比較するときに大文字と小文字区別するかどうかユーザー指定させるブール型パラメータありますコレクション大文字と小文字区別する場合は、そのキーの Object.GetHashCode および Object.Equals の実装使用しますコレクション大文字と小文字区別しない場合は、大文字と小文字区別しない単純な序数比較行います。この場合は、インバリアント カルチャについてだけ、大文字と小文字区別する規則従います既定では、コレクション大文字と小文字区別します。インバリアント カルチャの詳細については、System.Globalization.CultureInfo のトピック参照してください

キーには null 参照 (Visual Basic では Nothing) は使用できませんが、値には使用できます

C# 言語foreach ステートメント (Visual Basic では for each) は、コレクション内の各要素の型を必要としますHybridDictionary各要素キー/値ペアであるため、要素の型は、キーの型や値の型にはなりません。その代わり要素の型は DictionaryEntryなります。例 :

foreach (DictionaryEntry de in myHybridDictionary)
 {...}
For Each de As DictionaryEntry
 In myHybridDictionary
  ...
Next de

foreach ステートメントは、列挙子のラッパーです。これは、コレクションからの読み取りだけを許可しコレクションへの書き込み防ぎます

Windows Mobile for Pocket PCWindows Mobile for SmartphoneWindows CE プラットフォームメモ : 大文字と小文字区別しない HybridDictionary追加するすべてのキーは、文字列の値を持つ必要があります

使用例使用例

HybridDictionaryプロパティメソッドいくつかの例次に示します

Imports System
Imports System.Collections
Imports System.Collections.Specialized

Public Class SamplesHybridDictionary   

   Public Shared Sub Main()

      ' Creates and initializes a new HybridDictionary.
      Dim myCol As New HybridDictionary()
      myCol.Add("Braeburn Apples", "1.49")
      myCol.Add("Fuji Apples", "1.29")
      myCol.Add("Gala Apples", "1.49")
      myCol.Add("Golden Delicious Apples", "1.29")
      myCol.Add("Granny Smith Apples", "0.89")
      myCol.Add("Red Delicious Apples", "0.99")
      myCol.Add("Plantain Bananas", "1.49")
      myCol.Add("Yellow Bananas", "0.79")
      myCol.Add("Strawberries", "3.33")
      myCol.Add("Cranberries", "5.98")
      myCol.Add("Navel Oranges", "1.29")
      myCol.Add("Grapes", "1.99")
      myCol.Add("Honeydew Melon", "0.59")
      myCol.Add("Seedless Watermelon", "0.49")
      myCol.Add("Pineapple", "1.49")
      myCol.Add("Nectarine", "1.99")
      myCol.Add("Plums", "1.69")
      myCol.Add("Peaches", "1.99")

      ' Display the contents of the collection using For Each. This
 is the preferred method.
      Console.WriteLine("Displays the elements using For Each:")
      PrintKeysAndValues1(myCol)

      ' Display the contents of the collection using the enumerator.
      Console.WriteLine("Displays the elements using the IDictionaryEnumerator:")
      PrintKeysAndValues2(myCol)

      ' Display the contents of the collection using the Keys, Values,
 Count, and Item properties.
      Console.WriteLine("Displays the elements using the Keys,
 Values, Count, and Item properties:")
      PrintKeysAndValues3(myCol)

      ' Copies the HybridDictionary to an array with DictionaryEntry
 elements.
      Dim myArr(myCol.Count) As DictionaryEntry
      myCol.CopyTo(myArr, 0)

      ' Displays the values in the array.
      Console.WriteLine("Displays the elements in the array:")
      Console.WriteLine("   KEY                       VALUE")
      Dim i As Integer
      For i = 0 To myArr.Length - 1
         Console.WriteLine("   {0,-25} {1}", myArr(i).Key,
 myArr(i).Value)
      Next i
      Console.WriteLine()

      ' Searches for a key.
      If myCol.Contains("Kiwis")
 Then
         Console.WriteLine("The collection contains the key ""Kiwis"".")
      Else
         Console.WriteLine("The collection does not contain the
 key ""Kiwis"".")
      End If
      Console.WriteLine()

      ' Deletes a key.
      myCol.Remove("Plums")
      Console.WriteLine("The collection contains the following
 elements after removing ""Plums"":")
      PrintKeysAndValues1(myCol)

      ' Clears the entire collection.
      myCol.Clear()
      Console.WriteLine("The collection contains the following
 elements after it is cleared:")
      PrintKeysAndValues1(myCol)

   End Sub 'Main

   ' Uses the For Each statement which hides the complexity of the enumerator.
   ' NOTE: The For Each statement is the preferred way of enumerating
 the contents of a collection.
   Public Shared Sub PrintKeysAndValues1(myCol
 As IDictionary)

      Console.WriteLine("   KEY                       VALUE")
      Dim de As DictionaryEntry
      For Each de In  myCol
         Console.WriteLine("   {0,-25} {1}", de.Key,
 de.Value)
      Next de
      Console.WriteLine()

   End Sub 'PrintKeysAndValues


   ' Uses the enumerator. 
   ' NOTE: The For Each statement is the preferred way of enumerating
 the contents of a collection.
   Public Shared Sub PrintKeysAndValues2(myCol
 As IDictionary)
      Dim myEnumerator As IDictionaryEnumerator
 = myCol.GetEnumerator()

      Console.WriteLine("   KEY                       VALUE")
      While myEnumerator.MoveNext()
         Console.WriteLine("   {0,-25} {1}", myEnumerator.Key,
 myEnumerator.Value)
      End While
      Console.WriteLine()

   End Sub 'PrintKeysAndValues2


   ' Uses the Keys, Values, Count, and Item properties.
   Public Shared Sub PrintKeysAndValues3(myCol
 As HybridDictionary)
      Dim myKeys(myCol.Count) As [String]
      myCol.Keys.CopyTo(myKeys, 0)

      Console.WriteLine("   INDEX KEY                       VALUE")
      Dim i As Integer
      For i = 0 To myCol.Count - 1
         Console.WriteLine("   {0,-5} {1,-25} {2}",
 i, myKeys(i), myCol(myKeys(i)))
      Next i
      Console.WriteLine()

   End Sub 'PrintKeysAndValues3

End Class 'SamplesHybridDictionary
 


'This code produces the following output.
'
'Displays the elements using For Each:
'   KEY                       VALUE
'   Strawberries              3.33
'   Yellow Bananas            0.79
'   Cranberries               5.98
'   Grapes                    1.99
'   Granny Smith Apples       0.89
'   Seedless Watermelon       0.49
'   Honeydew Melon            0.59
'   Red Delicious Apples      0.99
'   Navel Oranges             1.29
'   Fuji Apples               1.29
'   Plantain Bananas          1.49
'   Gala Apples               1.49
'   Pineapple                 1.49
'   Plums                     1.69
'   Braeburn Apples           1.49
'   Peaches                   1.99
'   Golden Delicious Apples   1.29
'   Nectarine                 1.99
'
'Displays the elements using the IDictionaryEnumerator:
'   KEY                       VALUE
'   Strawberries              3.33
'   Yellow Bananas            0.79
'   Cranberries               5.98
'   Grapes                    1.99
'   Granny Smith Apples       0.89
'   Seedless Watermelon       0.49
'   Honeydew Melon            0.59
'   Red Delicious Apples      0.99
'   Navel Oranges             1.29
'   Fuji Apples               1.29
'   Plantain Bananas          1.49
'   Gala Apples               1.49
'   Pineapple                 1.49
'   Plums                     1.69
'   Braeburn Apples           1.49
'   Peaches                   1.99
'   Golden Delicious Apples   1.29
'   Nectarine                 1.99
'
'Displays the elements using the Keys, Values, Count, and Item properties:
'   INDEX KEY                       VALUE
'   0     Strawberries              3.33
'   1     Yellow Bananas            0.79
'   2     Cranberries               5.98
'   3     Grapes                    1.99
'   4     Granny Smith Apples       0.89
'   5     Seedless Watermelon       0.49
'   6     Honeydew Melon            0.59
'   7     Red Delicious Apples      0.99
'   8     Navel Oranges             1.29
'   9     Fuji Apples               1.29
'   10    Plantain Bananas          1.49
'   11    Gala Apples               1.49
'   12    Pineapple                 1.49
'   13    Plums                     1.69
'   14    Braeburn Apples           1.49
'   15    Peaches                   1.99
'   16    Golden Delicious Apples   1.29
'   17    Nectarine                 1.99
'
'Displays the elements in the array:
'   KEY                       VALUE
'   Strawberries              3.33
'   Yellow Bananas            0.79
'   Cranberries               5.98
'   Grapes                    1.99
'   Granny Smith Apples       0.89
'   Seedless Watermelon       0.49
'   Honeydew Melon            0.59
'   Red Delicious Apples      0.99
'   Navel Oranges             1.29
'   Fuji Apples               1.29
'   Plantain Bananas          1.49
'   Gala Apples               1.49
'   Pineapple                 1.49
'   Plums                     1.69
'   Braeburn Apples           1.49
'   Peaches                   1.99
'   Golden Delicious Apples   1.29
'   Nectarine                 1.99
'
'The collection does not contain the key "Kiwis".
'
'The collection contains the following elements after removing "Plums":
'   KEY                       VALUE
'   Strawberries              3.33
'   Yellow Bananas            0.79
'   Cranberries               5.98
'   Grapes                    1.99
'   Granny Smith Apples       0.89
'   Seedless Watermelon       0.49
'   Honeydew Melon            0.59
'   Red Delicious Apples      0.99
'   Navel Oranges             1.29
'   Fuji Apples               1.29
'   Plantain Bananas          1.49
'   Gala Apples               1.49
'   Pineapple                 1.49
'   Braeburn Apples           1.49
'   Peaches                   1.99
'   Golden Delicious Apples   1.29
'   Nectarine                 1.99
'
'The collection contains the following elements after it is cleared:
'   KEY                       VALUE

using System;
using System.Collections;
using System.Collections.Specialized;

public class SamplesHybridDictionary  {

   public static void Main()
  {

      // Creates and initializes a new HybridDictionary.
      HybridDictionary myCol = new HybridDictionary();
      myCol.Add( "Braeburn Apples", "1.49" );
      myCol.Add( "Fuji Apples", "1.29" );
      myCol.Add( "Gala Apples", "1.49" );
      myCol.Add( "Golden Delicious Apples", "1.29" );
      myCol.Add( "Granny Smith Apples", "0.89" );
      myCol.Add( "Red Delicious Apples", "0.99" );
      myCol.Add( "Plantain Bananas", "1.49" );
      myCol.Add( "Yellow Bananas", "0.79" );
      myCol.Add( "Strawberries", "3.33" );
      myCol.Add( "Cranberries", "5.98" );
      myCol.Add( "Navel Oranges", "1.29" );
      myCol.Add( "Grapes", "1.99" );
      myCol.Add( "Honeydew Melon", "0.59" );
      myCol.Add( "Seedless Watermelon", "0.49" );
      myCol.Add( "Pineapple", "1.49" );
      myCol.Add( "Nectarine", "1.99" );
      myCol.Add( "Plums", "1.69" );
      myCol.Add( "Peaches", "1.99" );

      // Display the contents of the collection using foreach. This
 is the preferred method.
      Console.WriteLine( "Displays the elements using foreach:"
 );
      PrintKeysAndValues1( myCol );

      // Display the contents of the collection using the enumerator.
      Console.WriteLine( "Displays the elements using the
 IDictionaryEnumerator:" );
      PrintKeysAndValues2( myCol );

      // Display the contents of the collection using the Keys, Values,
 Count, and Item properties.
      Console.WriteLine( "Displays the elements using the
 Keys, Values, Count, and Item properties:" );
      PrintKeysAndValues3( myCol );

      // Copies the HybridDictionary to an array with DictionaryEntry
 elements.
      DictionaryEntry[] myArr = new DictionaryEntry[myCol.Count];
      myCol.CopyTo( myArr, 0 );

      // Displays the values in the array.
      Console.WriteLine( "Displays the elements in the array:"
 );
      Console.WriteLine( "   KEY                       VALUE" );
      for ( int i = 0; i < myArr.Length;
 i++ )
         Console.WriteLine( "   {0,-25} {1}", myArr[i].Key, myArr[i].Value
 );
      Console.WriteLine();

      // Searches for a key.
      if ( myCol.Contains( "Kiwis" ) )
         Console.WriteLine( "The collection contains the key \"Kiwis\"."
 );
      else
         Console.WriteLine( "The collection does not contain the key \"Kiwis\"."
 );
      Console.WriteLine();

      // Deletes a key.
      myCol.Remove( "Plums" );
      Console.WriteLine( "The collection contains the following elements after
 removing \"Plums\":" );
      PrintKeysAndValues1( myCol );

      // Clears the entire collection.
      myCol.Clear();
      Console.WriteLine( "The collection contains the following elements after
 it is cleared:" );
      PrintKeysAndValues1( myCol );

   }

   // Uses the foreach statement which hides the complexity of the enumerator.
   // NOTE: The foreach statement is the preferred way of enumerating
 the contents of a collection.
   public static void PrintKeysAndValues1(
 IDictionary myCol )  {
      Console.WriteLine( "   KEY                       VALUE" );
      foreach ( DictionaryEntry de in myCol
 )
         Console.WriteLine( "   {0,-25} {1}", de.Key, de.Value );
      Console.WriteLine();
   }

   // Uses the enumerator. 
   // NOTE: The foreach statement is the preferred way of enumerating
 the contents of a collection.
   public static void PrintKeysAndValues2(
 IDictionary myCol )  {
      IDictionaryEnumerator myEnumerator = myCol.GetEnumerator();
      Console.WriteLine( "   KEY                       VALUE" );
      while ( myEnumerator.MoveNext() )
         Console.WriteLine( "   {0,-25} {1}", myEnumerator.Key, myEnumerator.Value
 );
      Console.WriteLine();
   }

   // Uses the Keys, Values, Count, and Item properties.
   public static void PrintKeysAndValues3(
 HybridDictionary myCol )  {
      String[] myKeys = new String[myCol.Count];
      myCol.Keys.CopyTo( myKeys, 0 );

      Console.WriteLine( "   INDEX KEY                       VALUE" );
      for ( int i = 0; i < myCol.Count;
 i++ )
         Console.WriteLine( "   {0,-5} {1,-25} {2}", i, myKeys[i], myCol[myKeys[i]]
 );
      Console.WriteLine();
   }

}

/*
This code produces the following output.

Displays the elements using foreach:
   KEY                       VALUE
   Strawberries              3.33
   Yellow Bananas            0.79
   Cranberries               5.98
   Grapes                    1.99
   Granny Smith Apples       0.89
   Seedless Watermelon       0.49
   Honeydew Melon            0.59
   Red Delicious Apples      0.99
   Navel Oranges             1.29
   Fuji Apples               1.29
   Plantain Bananas          1.49
   Gala Apples               1.49
   Pineapple                 1.49
   Plums                     1.69
   Braeburn Apples           1.49
   Peaches                   1.99
   Golden Delicious Apples   1.29
   Nectarine                 1.99

Displays the elements using the IDictionaryEnumerator:
   KEY                       VALUE
   Strawberries              3.33
   Yellow Bananas            0.79
   Cranberries               5.98
   Grapes                    1.99
   Granny Smith Apples       0.89
   Seedless Watermelon       0.49
   Honeydew Melon            0.59
   Red Delicious Apples      0.99
   Navel Oranges             1.29
   Fuji Apples               1.29
   Plantain Bananas          1.49
   Gala Apples               1.49
   Pineapple                 1.49
   Plums                     1.69
   Braeburn Apples           1.49
   Peaches                   1.99
   Golden Delicious Apples   1.29
   Nectarine                 1.99

Displays the elements using the Keys, Values, Count, and Item
 properties:
   INDEX KEY                       VALUE
   0     Strawberries              3.33
   1     Yellow Bananas            0.79
   2     Cranberries               5.98
   3     Grapes                    1.99
   4     Granny Smith Apples       0.89
   5     Seedless Watermelon       0.49
   6     Honeydew Melon            0.59
   7     Red Delicious Apples      0.99
   8     Navel Oranges             1.29
   9     Fuji Apples               1.29
   10    Plantain Bananas          1.49
   11    Gala Apples               1.49
   12    Pineapple                 1.49
   13    Plums                     1.69
   14    Braeburn Apples           1.49
   15    Peaches                   1.99
   16    Golden Delicious Apples   1.29
   17    Nectarine                 1.99

Displays the elements in the array:
   KEY                       VALUE
   Strawberries              3.33
   Yellow Bananas            0.79
   Cranberries               5.98
   Grapes                    1.99
   Granny Smith Apples       0.89
   Seedless Watermelon       0.49
   Honeydew Melon            0.59
   Red Delicious Apples      0.99
   Navel Oranges             1.29
   Fuji Apples               1.29
   Plantain Bananas          1.49
   Gala Apples               1.49
   Pineapple                 1.49
   Plums                     1.69
   Braeburn Apples           1.49
   Peaches                   1.99
   Golden Delicious Apples   1.29
   Nectarine                 1.99

The collection does not contain the key "Kiwis".

The collection contains the following elements after removing "Plums":
   KEY                       VALUE
   Strawberries              3.33
   Yellow Bananas            0.79
   Cranberries               5.98
   Grapes                    1.99
   Granny Smith Apples       0.89
   Seedless Watermelon       0.49
   Honeydew Melon            0.59
   Red Delicious Apples      0.99
   Navel Oranges             1.29
   Fuji Apples               1.29
   Plantain Bananas          1.49
   Gala Apples               1.49
   Pineapple                 1.49
   Braeburn Apples           1.49
   Peaches                   1.99
   Golden Delicious Apples   1.29
   Nectarine                 1.99

The collection contains the following elements after it is cleared:
   KEY                       VALUE

*/
#using <System.dll>

using namespace System;
using namespace System::Collections;
using namespace System::Collections::Specialized;

void PrintKeysAndValues1( IDictionary^ myCol );
void PrintKeysAndValues2( IDictionary^ myCol );
void PrintKeysAndValues3( HybridDictionary^ myCol );
int main()
{
   
   // Creates and initializes a new HybridDictionary.
   HybridDictionary^ myCol = gcnew HybridDictionary;
   myCol->Add( "Braeburn Apples", "1.49" );
   myCol->Add( "Fuji Apples", "1.29" );
   myCol->Add( "Gala Apples", "1.49" );
   myCol->Add( "Golden Delicious Apples", "1.29" );
   myCol->Add( "Granny Smith Apples", "0.89" );
   myCol->Add( "Red Delicious Apples", "0.99" );
   myCol->Add( "Plantain Bananas", "1.49" );
   myCol->Add( "Yellow Bananas", "0.79" );
   myCol->Add( "Strawberries", "3.33" );
   myCol->Add( "Cranberries", "5.98" );
   myCol->Add( "Navel Oranges", "1.29" );
   myCol->Add( "Grapes", "1.99" );
   myCol->Add( "Honeydew Melon", "0.59" );
   myCol->Add( "Seedless Watermelon", "0.49" );
   myCol->Add( "Pineapple", "1.49" );
   myCol->Add( "Nectarine", "1.99" );
   myCol->Add( "Plums", "1.69" );
   myCol->Add( "Peaches", "1.99" );

   // Display the contents of the collection using for each. This is
 the preferred method.
   Console::WriteLine( "Displays the elements using for
 each:" );
   PrintKeysAndValues1( myCol );

   // Display the contents of the collection using the enumerator.
   Console::WriteLine( "Displays the elements using the IDictionaryEnumerator:"
 );
   PrintKeysAndValues2( myCol );

   // Display the contents of the collection using the Keys, Values,
 Count, and Item properties.
   Console::WriteLine( "Displays the elements using the Keys, Values, Count, and Item
 properties:" );
   PrintKeysAndValues3( myCol );

   // Copies the HybridDictionary to an array with DictionaryEntry elements.
   array<DictionaryEntry>^myArr = gcnew array<DictionaryEntry>(myCol->Count);
   myCol->CopyTo( myArr, 0 );

   // Displays the values in the array.
   Console::WriteLine( "Displays the elements in the array:"
 );
   Console::WriteLine( "   KEY                       VALUE" );
   for ( int i = 0; i < myArr->Length;
 i++ )
      Console::WriteLine( "   {0,-25} {1}", myArr[ i ].Key, myArr[ i ].Value
 );
   Console::WriteLine();

   // Searches for a key.
   if ( myCol->Contains( "Kiwis" ) )
      Console::WriteLine( "The collection contains the key \"Kiwis\"."
 );
   else
      Console::WriteLine( "The collection does not contain the key \"Kiwis\"."
 );

   Console::WriteLine();

   // Deletes a key.
   myCol->Remove( "Plums" );
   Console::WriteLine( "The collection contains the following elements after
 removing \"Plums\":" );
   PrintKeysAndValues1( myCol );

   // Clears the entire collection.
   myCol->Clear();
   Console::WriteLine( "The collection contains the following elements after
 it is cleared:" );
   PrintKeysAndValues1( myCol );
}

// Uses the for each statement which hides the complexity of the enumerator.
// NOTE: The for each statement is the preferred way of enumerating
 the contents of a collection.
void PrintKeysAndValues1( IDictionary^ myCol )  {
   Console::WriteLine( "   KEY                       VALUE" );
   for each ( DictionaryEntry^ de in myCol
 )
      Console::WriteLine( "   {0,-25} {1}", de->Key, de->Value );
   Console::WriteLine();
}

// Uses the enumerator. 
void PrintKeysAndValues2( IDictionary^ myCol )
{
   IDictionaryEnumerator^ myEnumerator = myCol->GetEnumerator();
   Console::WriteLine( "   KEY                       VALUE" );
   while ( myEnumerator->MoveNext() )
      Console::WriteLine( "   {0,-25} {1}", myEnumerator->Key, myEnumerator->Value
 );

   Console::WriteLine();
}

// Uses the Keys, Values, Count, and Item properties.
void PrintKeysAndValues3( HybridDictionary^ myCol )
{
   array<String^>^myKeys = gcnew array<String^>(myCol->Count);
   myCol->Keys->CopyTo( myKeys, 0 );
   Console::WriteLine( "   INDEX KEY                       VALUE" );
   for ( int i = 0; i < myCol->Count;
 i++ )
      Console::WriteLine( "   {0,-5} {1,-25} {2}", i, myKeys[ i ], myCol[
 myKeys[ i ] ] );
   Console::WriteLine();
}

/*
This code produces the following output.

Displays the elements using for each:
   KEY                       VALUE
   Strawberries              3.33
   Yellow Bananas            0.79
   Cranberries               5.98
   Grapes                    1.99
   Granny Smith Apples       0.89
   Seedless Watermelon       0.49
   Honeydew Melon            0.59
   Red Delicious Apples      0.99
   Navel Oranges             1.29
   Fuji Apples               1.29
   Plantain Bananas          1.49
   Gala Apples               1.49
   Pineapple                 1.49
   Plums                     1.69
   Braeburn Apples           1.49
   Peaches                   1.99
   Golden Delicious Apples   1.29
   Nectarine                 1.99

Displays the elements using the IDictionaryEnumerator:
   KEY                       VALUE
   Strawberries              3.33
   Yellow Bananas            0.79
   Cranberries               5.98
   Grapes                    1.99
   Granny Smith Apples       0.89
   Seedless Watermelon       0.49
   Honeydew Melon            0.59
   Red Delicious Apples      0.99
   Navel Oranges             1.29
   Fuji Apples               1.29
   Plantain Bananas          1.49
   Gala Apples               1.49
   Pineapple                 1.49
   Plums                     1.69
   Braeburn Apples           1.49
   Peaches                   1.99
   Golden Delicious Apples   1.29
   Nectarine                 1.99

Displays the elements using the Keys, Values, Count, and Item
 properties:
   INDEX KEY                       VALUE
   0     Strawberries              3.33
   1     Yellow Bananas            0.79
   2     Cranberries               5.98
   3     Grapes                    1.99
   4     Granny Smith Apples       0.89
   5     Seedless Watermelon       0.49
   6     Honeydew Melon            0.59
   7     Red Delicious Apples      0.99
   8     Navel Oranges             1.29
   9     Fuji Apples               1.29
   10    Plantain Bananas          1.49
   11    Gala Apples               1.49
   12    Pineapple                 1.49
   13    Plums                     1.69
   14    Braeburn Apples           1.49
   15    Peaches                   1.99
   16    Golden Delicious Apples   1.29
   17    Nectarine                 1.99

Displays the elements in the array:
   KEY                       VALUE
   Strawberries              3.33
   Yellow Bananas            0.79
   Cranberries               5.98
   Grapes                    1.99
   Granny Smith Apples       0.89
   Seedless Watermelon       0.49
   Honeydew Melon            0.59
   Red Delicious Apples      0.99
   Navel Oranges             1.29
   Fuji Apples               1.29
   Plantain Bananas          1.49
   Gala Apples               1.49
   Pineapple                 1.49
   Plums                     1.69
   Braeburn Apples           1.49
   Peaches                   1.99
   Golden Delicious Apples   1.29
   Nectarine                 1.99

The collection does not contain the key "Kiwis".

The collection contains the following elements after removing "Plums":
   KEY                       VALUE
   Strawberries              3.33
   Yellow Bananas            0.79
   Cranberries               5.98
   Grapes                    1.99
   Granny Smith Apples       0.89
   Seedless Watermelon       0.49
   Honeydew Melon            0.59
   Red Delicious Apples      0.99
   Navel Oranges             1.29
   Fuji Apples               1.29
   Plantain Bananas          1.49
   Gala Apples               1.49
   Pineapple                 1.49
   Braeburn Apples           1.49
   Peaches                   1.99
   Golden Delicious Apples   1.29
   Nectarine                 1.99

The collection contains the following elements after it is cleared:
   KEY                       VALUE

*/
import System.*;
import System.Collections.*;
import System.Collections.Specialized.*;

public class SamplesHybridDictionary
{
    public static void main(String[]
 args)
    {
        // Creates and initializes a new HybridDictionary.
        HybridDictionary myCol =  new HybridDictionary();
        myCol.Add("Braeburn Apples", "1.49");
        myCol.Add("Fuji Apples", "1.29");
        myCol.Add("Gala Apples", "1.49");
        myCol.Add("Golden Delicious Apples", "1.29");
        myCol.Add("Granny Smith Apples", "0.89");
        myCol.Add("Red Delicious Apples", "0.99");
        myCol.Add("Plantain Bananas", "1.49");
        myCol.Add("Yellow Bananas", "0.79");
        myCol.Add("Strawberries", "3.33");
        myCol.Add("Cranberries", "5.98");
        myCol.Add("Navel Oranges", "1.29");
        myCol.Add("Grapes", "1.99");
        myCol.Add("Honeydew Melon", "0.59");
        myCol.Add("Seedless Watermelon", "0.49");
        myCol.Add("Pineapple", "1.49");
        myCol.Add("Nectarine", "1.99");
        myCol.Add("Plums", "1.69");
        myCol.Add("Peaches", "1.99");
          
        // Display the contents of the collection using for. This is
 the 
        // preferred method.
        Console.WriteLine("Displays the elements using for:");
        PrintKeysAndValues1(myCol);
          
        // Display the contents of the collection using the enumerator.
        Console.WriteLine("Displays the elements using the"
            + " IDictionaryEnumerator:");
        PrintKeysAndValues2(myCol);
          
        // Display the contents of the collection using the Keys, Values,
 
        // Count, and Item properties.
        Console.WriteLine("Displays the elements using the
 Keys, Values,"
            + " Count, and Item properties:");
        PrintKeysAndValues3(myCol);
          
        // Copies the HybridDictionary to an array with DictionaryEntry
 
        // elements.
        DictionaryEntry myArr[] = new DictionaryEntry[myCol.get_Count()];
        myCol.CopyTo(myArr, 0);
          
        // Displays the values in the array.
        Console.WriteLine("Displays the elements in the array:");
        Console.WriteLine("   KEY                       VALUE");
        for(int i=0;i < myArr.length;i++)
 {
            Console.WriteLine("   {0,-25} {1}", myArr[i].get_Key(), 
                myArr[i].get_Value());
        } 
        Console.WriteLine();
          
        // Searches for a key.
        if (myCol.Contains("Kiwis")) {
            Console.WriteLine("The collection contains the key \"Kiwis\".");
        }
        else {
            Console.WriteLine("The collection does not contain the key"
                + " \"Kiwis\".");
        }
        Console.WriteLine();
          
        // Deletes a key.
        myCol.Remove("Plums");
        Console.WriteLine("The collection contains the following elements"
            + " after removing \"Plums\":");
        PrintKeysAndValues1(myCol);
          
        // Clears the entire collection.
        myCol.Clear();
        Console.WriteLine("The collection contains the following elements"
            + " after it is cleared:");
        PrintKeysAndValues1(myCol);
    } //main
    
    // Uses the for statement which hides the complexity of the enumerator.
    // NOTE: The for statement is the preferred way of enumerating the
    // contents of a collection.
    public static void PrintKeysAndValues1(IDictionary
 myCol) 
    {
        String strKeys[] = new String[myCol.get_Count()];
        myCol.get_Keys().CopyTo(strKeys,0);
        Console.WriteLine("   KEY                       VALUE");
        for (int iCtr=0; iCtr < myCol.get_Count();
 iCtr++) {
            Console.WriteLine("   {0,-25} {1}", strKeys[iCtr],
                myCol.get_Item(strKeys[iCtr]));
        }
        Console.WriteLine(); 
    }  //PrintKeysAndValues1
      
    // Uses the enumerator. 
    // NOTE: The for statement is the preferred way of enumerating the
 
    // contents of a collection.
    public static void PrintKeysAndValues2(IDictionary
 myCol) 
    {
        IDictionaryEnumerator myEnumerator = myCol.GetEnumerator();
        Console.WriteLine("   KEY                       VALUE");
        while(myEnumerator.MoveNext()) {
            Console.WriteLine("   {0,-25} {1}", myEnumerator.get_Key()
,
                myEnumerator.get_Value());
        }
        Console.WriteLine();
    } //PrintKeysAndValues2
      
    // Uses the Keys, Values, Count, and Item properties.
    public static void PrintKeysAndValues3(HybridDictionary
 myCol) 
    {
        String myKeys[] = new String[myCol.get_Count()];
        myCol.get_Keys().CopyTo(myKeys, 0);
      
        Console.WriteLine("   INDEX KEY                       VALUE");
        for(int i=0;i < myCol.get_Count();i
 ++) {
            Console.WriteLine("   {0,-5} {1,-25} {2}", (Int32)i, myKeys[i],
 
                myCol.get_Item(myKeys[i]));
        } 
        Console.WriteLine();
    } //PrintKeysAndValues3
} //SamplesHybridDictionary
 
/*
Displays the elements using for:
   KEY                       VALUE
   Strawberries              3.33
   Yellow Bananas            0.79
   Cranberries               5.98
   Grapes                    1.99
   Granny Smith Apples       0.89
   Seedless Watermelon       0.49
   Honeydew Melon            0.59
   Red Delicious Apples      0.99
   Navel Oranges             1.29
   Fuji Apples               1.29
   Plantain Bananas          1.49
   Gala Apples               1.49
   Pineapple                 1.49
   Plums                     1.69
   Braeburn Apples           1.49
   Peaches                   1.99
   Golden Delicious Apples   1.29
   Nectarine                 1.99

Displays the elements using the IDictionaryEnumerator:
   KEY                       VALUE
   Strawberries              3.33
   Yellow Bananas            0.79
   Cranberries               5.98
   Grapes                    1.99
   Granny Smith Apples       0.89
   Seedless Watermelon       0.49
   Honeydew Melon            0.59
   Red Delicious Apples      0.99
   Navel Oranges             1.29
   Fuji Apples               1.29
   Plantain Bananas          1.49
   Gala Apples               1.49
   Pineapple                 1.49
   Plums                     1.69
   Braeburn Apples           1.49
   Peaches                   1.99
   Golden Delicious Apples   1.29
   Nectarine                 1.99

Displays the elements using the Keys, Values, Count, and Item
 properties:
   INDEX KEY                       VALUE
   0     Strawberries              3.33
   1     Yellow Bananas            0.79
   2     Cranberries               5.98
   3     Grapes                    1.99
   4     Granny Smith Apples       0.89
   5     Seedless Watermelon       0.49
   6     Honeydew Melon            0.59
   7     Red Delicious Apples      0.99
   8     Navel Oranges             1.29
   9     Fuji Apples               1.29
   10    Plantain Bananas          1.49
   11    Gala Apples               1.49
   12    Pineapple                 1.49
   13    Plums                     1.69
   14    Braeburn Apples           1.49
   15    Peaches                   1.99
   16    Golden Delicious Apples   1.29
   17    Nectarine                 1.99

Displays the elements in the array:
   KEY                       VALUE
   Strawberries              3.33
   Yellow Bananas            0.79
   Cranberries               5.98
   Grapes                    1.99
   Granny Smith Apples       0.89
   Seedless Watermelon       0.49
   Honeydew Melon            0.59
   Red Delicious Apples      0.99
   Navel Oranges             1.29
   Fuji Apples               1.29
   Plantain Bananas          1.49
   Gala Apples               1.49
   Pineapple                 1.49
   Plums                     1.69
   Braeburn Apples           1.49
   Peaches                   1.99
   Golden Delicious Apples   1.29
   Nectarine                 1.99

The collection does not contain the key "Kiwis".

The collection contains the following elements after removing "Plums":
   KEY                       VALUE
   Strawberries              3.33
   Yellow Bananas            0.79
   Cranberries               5.98
   Grapes                    1.99
   Granny Smith Apples       0.89
   Seedless Watermelon       0.49
   Honeydew Melon            0.59
   Red Delicious Apples      0.99
   Navel Oranges             1.29
   Fuji Apples               1.29
   Plantain Bananas          1.49
   Gala Apples               1.49
   Pineapple                 1.49
   Braeburn Apples           1.49
   Peaches                   1.99
   Golden Delicious Apples   1.29
   Nectarine                 1.99

The collection contains the following elements after it is cleared:
   KEY                       VALUE

*/
継承階層継承階層
System.Object
  System.Collections.Specialized.HybridDictionary
     System.Web.Mobile.CookielessData
スレッド セーフスレッド セーフ
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
HybridDictionary メンバ
System.Collections.Specialized 名前空間
IDictionary インターフェイス
ListDictionary
Hashtable クラス
CaseInsensitiveHashCodeProvider クラス
Object.GetHashCode
Object.Equals
その他の技術情報
カルチャを認識しい文字操作実行


このページでは「.NET Framework クラス ライブラリ リファレンス」からHybridDictionary クラスを検索した結果を表示しています。
Weblioに収録されているすべての辞書からHybridDictionary クラスを検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からHybridDictionary クラス を検索

英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「HybridDictionary クラス」の関連用語

HybridDictionary クラスのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



HybridDictionary クラスのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2025 Microsoft.All rights reserved.

©2025 GRAS Group, Inc.RSS