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

StringDictionary クラス

オブジェクトではなく文字列厳密に指定された値、およびキーを含むハッシュ テーブル実装ます。

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

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

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

キー大文字と小文字区別せず処理されます。つまり、キーは文字列ディクショナリで使用される前に小文字変換されます。

.NET Framework Version 1.0場合、このクラスはカルチャに依存した文字列比較使用します。ただし、.NET Framework Version 1.1 以降場合、このクラスは文字列を比較するときに CultureInfo.InvariantCulture を使用します。カルチャが比較並べ替え与え影響詳細については、「固有カルチャのデータ比較並べ替え」および「カルチャを認識しい文字操作実行」を参照してください

使用例使用例

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

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

Public Class SamplesStringDictionary   

   Public Shared Sub Main()

      ' Creates and initializes a new StringDictionary.
      Dim myCol As New StringDictionary()
      myCol.Add("red", "rojo")
      myCol.Add("green", "verde")
      myCol.Add("blue", "azul")

      ' 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 IEnumerator:")
      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 StringDictionary 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,-10} {1}", myArr(i).Key,
 myArr(i).Value)
      Next i
      Console.WriteLine()

      ' Searches for a value.
      If myCol.ContainsValue("amarillo")
 Then
         Console.WriteLine("The collection contains the value
 ""amarillo"".")
      Else
         Console.WriteLine("The collection does not contain the
 value ""amarillo"".")
      End If
      Console.WriteLine()

      ' Searches for a key and deletes it.
      If myCol.ContainsKey("green")
 Then
         myCol.Remove("green")
      End If
      Console.WriteLine("The collection contains the following
 elements after removing ""green"":")
      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 StringDictionary)
      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 'PrintKeysAndValues1


   ' 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 StringDictionary)
      Dim myEnumerator As IEnumerator = myCol.GetEnumerator()
      Dim de As DictionaryEntry
      Console.WriteLine("   KEY                       VALUE")
      While myEnumerator.MoveNext()
         de = CType(myEnumerator.Current, DictionaryEntry)
         Console.WriteLine("   {0,-25} {1}", de.Key,
 de.Value)
      End While
      Console.WriteLine()
   End Sub 'PrintKeysAndValues2


   ' Uses the Keys, Values, Count, and Item properties.
   Public Shared Sub PrintKeysAndValues3(myCol
 As StringDictionary)
      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 'SamplesStringDictionary
 


'This code produces the following output.
'
'Displays the elements using For Each:
'   KEY                       VALUE
'   red                       rojo
'   blue                      azul
'   green                     verde
'
'Displays the elements using the IEnumerator:
'   KEY                       VALUE
'   red                       rojo
'   blue                      azul
'   green                     verde
'
'Displays the elements using the Keys, Values, Count, and Item properties:
'   INDEX KEY                       VALUE
'   0     red                       rojo
'   1     blue                      azul
'   2     green                     verde
'
'Displays the elements in the array:
'   KEY        VALUE
'   red        rojo
'   blue       azul
'   green      verde
'
'
'The collection does not contain the value "amarillo".
'
'The collection contains the following elements after removing "green":
'   KEY                       VALUE
'   red                       rojo
'   blue                      azul
'
'The collection contains the following elements after it is cleared:
'   KEY                       VALUE

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

public class SamplesStringDictionary  {

   public static void Main()
  {

      // Creates and initializes a new StringDictionary.
      StringDictionary myCol = new StringDictionary();
      myCol.Add( "red", "rojo" );
      myCol.Add( "green", "verde" );
      myCol.Add( "blue", "azul" );

      // 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
 IEnumerator:" );
      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 StringDictionary 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,-10} {1}", myArr[i].Key, myArr[i].Value
 );
      Console.WriteLine();

      // Searches for a value.
      if ( myCol.ContainsValue( "amarillo" ) )
         Console.WriteLine( "The collection contains the value \"amarillo\"."
 );
      else
         Console.WriteLine( "The collection does not contain the value \"amarillo\"."
 );
      Console.WriteLine();

      // Searches for a key and deletes it.
      if ( myCol.ContainsKey( "green" ) )
         myCol.Remove( "green" );
      Console.WriteLine( "The collection contains the following elements after
 removing \"green\":" );
      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(
 StringDictionary 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(
 StringDictionary myCol )  {
      IEnumerator myEnumerator = myCol.GetEnumerator();
      DictionaryEntry de;
      Console.WriteLine( "   KEY                       VALUE" );
      while ( myEnumerator.MoveNext() )  {
         de = (DictionaryEntry) myEnumerator.Current;
         Console.WriteLine( "   {0,-25} {1}", de.Key, de.Value );
      }
      Console.WriteLine();
   }

   // Uses the Keys, Values, Count, and Item properties.
   public static void PrintKeysAndValues3(
 StringDictionary 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
   red                       rojo
   blue                      azul
   green                     verde

Displays the elements using the IEnumerator:
   KEY                       VALUE
   red                       rojo
   blue                      azul
   green                     verde

Displays the elements using the Keys, Values, Count, and Item
 properties:
   INDEX KEY                       VALUE
   0     red                       rojo
   1     blue                      azul
   2     green                     verde

Displays the elements in the array:
   KEY        VALUE
   red        rojo
   blue       azul
   green      verde

The collection does not contain the value "amarillo".

The collection contains the following elements after removing "green":
   KEY                       VALUE
   red                       rojo
   blue                      azul

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 PrintKeysAndValues2( StringDictionary^ myCol );
void PrintKeysAndValues3( StringDictionary^ myCol );

int main()
{
   // Creates and initializes a new StringDictionary.
   StringDictionary^ myCol = gcnew StringDictionary;
   myCol->Add( "red", "rojo" );
   myCol->Add( "green", "verde" );
   myCol->Add( "blue", "azul" );

   // Display the contents of the collection using the enumerator.
   Console::WriteLine( "Displays the elements using the IEnumerator:"
 );
   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 StringDictionary 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,-10} {1}", myArr[ i ].Key, myArr[ i ].Value
 );
   Console::WriteLine();

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

   Console::WriteLine();
   
   // Searches for a key and deletes it.
   if ( myCol->ContainsKey( "green" ) )
      myCol->Remove( "green" );

   Console::WriteLine( "The collection contains the following elements after
 removing \"green\":" );
   PrintKeysAndValues2( myCol );

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

// Uses the enumerator. 
void PrintKeysAndValues2( StringDictionary^ myCol )
{
   IEnumerator^ myEnumerator = myCol->GetEnumerator();
   DictionaryEntry de;
   Console::WriteLine( "   KEY                       VALUE" );
   while ( myEnumerator->MoveNext() )
   {
      de =  *dynamic_cast<DictionaryEntry^>(myEnumerator->Current);
      Console::WriteLine( "   {0,-25} {1}", de.Key, de.Value );
   }

   Console::WriteLine();
}

// Uses the Keys, Values, Count, and Item properties.
void PrintKeysAndValues3( StringDictionary^ 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 the IEnumerator:
   KEY                       VALUE
   red                       rojo
   blue                      azul
   green                     verde

Displays the elements using the Keys, Values, Count, and Item
 properties:
   INDEX KEY                       VALUE
   0     red                       rojo
   1     blue                      azul
   2     green                     verde

Displays the elements in the array:
   KEY        VALUE
   red        rojo
   blue       azul
   green      verde

The collection does not contain the value "amarillo".

The collection contains the following elements after removing "green":
   KEY                       VALUE
   red                       rojo
   blue                      azul

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

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

public class SamplesStringDictionary
{
    public static void main(String[]
 args) 
    {
        // Creates and initializes a new StringDictionary.
        StringDictionary myCol =  new StringDictionary();
        myCol.Add("red", "rojo");
        myCol.Add("green", "verde");
        myCol.Add("blue", "azul");
          
        // Display the contents of the collection using for loop.
        // This is the preferred method.
        Console.WriteLine("Displays the elements using for
 loop:");
        PrintKeysAndValues1(myCol);
          
        // Display the contents of the collection using the enumerator.
        Console.WriteLine("Displays the elements using the
 IEnumerator:");
        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 StringDictionary 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,-10} {1}", myArr[i].get_Key(), 
                myArr[i].get_Value());
        } 
        Console.WriteLine();
          
        // Searches for a value.
        if (myCol.ContainsValue("amarillo")) {
            Console.WriteLine("The collection contains the value \"amarillo\".");
        }
        else {
            Console.WriteLine("The collection does not contain the value "
                + "\"amarillo\".");
        }
        Console.WriteLine();
          
        // Searches for a key and deletes it.
        if (myCol.ContainsKey("green")) {
            myCol.Remove("green");
        }
        Console.WriteLine("The collection contains the following elements after"
            + " removing \"green\":");
        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(StringDictionary
 myCol)
    {
        String strValue;
        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++) {
            strValue = myCol.get_Item(strKeys[iCtr]);
            Console.WriteLine("   {0,-25} {1}", strKeys[iCtr], strValue);
        }
        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(StringDictionary
 myCol) 
    {
        IEnumerator myEnumerator = myCol.GetEnumerator();
        DictionaryEntry de;
        Console.WriteLine("   KEY                       VALUE");
        while(myEnumerator.MoveNext()) {
            de =((DictionaryEntry)(myEnumerator.get_Current()));
            Console.WriteLine("   {0,-25} {1}", de.get_Key(), de.get_Value());
        }
        Console.WriteLine();
    } //PrintKeysAndValues2
      
    // Uses the Keys, Values, Count, and Item properties.
    public static void PrintKeysAndValues3(StringDictionary
 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
} //SamplesStringDictionary
 
/*
This code produces the following output.

Displays the elements using for loop:
   KEY                       VALUE
   red                       rojo
   blue                      azul
   green                     verde

Displays the elements using the IEnumerator:
   KEY                       VALUE
   red                       rojo
   blue                      azul
   green                     verde

Displays the elements using the Keys, Values, Count, and Item
 properties:
   INDEX KEY                       VALUE
   0     red                       rojo
   1     blue                      azul
   2     green                     verde

Displays the elements in the array:
   KEY        VALUE
   red        rojo
   blue       azul
   green      verde

The collection does not contain the value "amarillo".

The collection contains the following elements after removing "green":
   KEY                       VALUE
   red                       rojo
   blue                      azul

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

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



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

辞書ショートカット

すべての辞書の索引

「StringDictionary クラス」の関連用語

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

   

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



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

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

©2025 GRAS Group, Inc.RSS