StringDictionary クラス
アセンブリ: System (system.dll 内)


キーには 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.Collections.Specialized.StringDictionary

この型の public static (Visual Basic では Shared) メンバは、スレッド セーフです。すべてのインスタンス メンバがスレッド セーフになるかどうかは保証されていません。
この実装は、StringDictionary 用の同期された (スレッド セーフな) ラッパーは提供しませんが、派生クラスでは、SyncRoot プロパティを使用して、同期した StringDictionary を独自に作成できます。
コレクションの列挙処理は、本質的にはスレッド セーフな処理ではありません。コレクションが同期されている場合でも、他のスレッドがそのコレクションを変更する可能性はあり、そのような状況が発生すると列挙子は例外をスローします。列挙処理を確実にスレッド セーフに行うには、列挙中にコレクションをロックするか、他のスレッドによって行われた変更によってスローされる例外をキャッチします。

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


StringDictionary コンストラクタ
アセンブリ: System (system.dll 内)



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 */

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


StringDictionary プロパティ
StringDictionary メソッド

名前 | 説明 | |
---|---|---|
![]() | Add | 指定したキーおよび値を持つエントリを StringDictionary に追加します。 |
![]() | Clear | StringDictionary からすべてのエントリを削除します。 |
![]() | ContainsKey | StringDictionary に特定のキーが格納されているかどうかを確認します。 |
![]() | ContainsValue | StringDictionary に特定の値が格納されているかどうかを確認します。 |
![]() | CopyTo | 1 次元の Array インスタンスの指定したインデックス位置に、文字列ディクショナリの値をコピーします。 |
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 ( Object から継承されます。) |
![]() | GetEnumerator | 文字列ディクショナリを反復処理する列挙子を返します。 |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 ( Object から継承されます。) |
![]() | GetType | 現在のインスタンスの Type を取得します。 ( Object から継承されます。) |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。) |
![]() | Remove | 指定したキーを持つエントリを文字列ディクショナリから削除します。 |
![]() | ToString | 現在の Object を表す String を返します。 ( Object から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 ( Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 ( Object から継承されます。) |

StringDictionary メンバ
オブジェクトではなく文字列に厳密に型指定された値、およびキーを含むハッシュ テーブルを実装します。
StringDictionary データ型で公開されるメンバを以下の表に示します。



名前 | 説明 | |
---|---|---|
![]() | Add | 指定したキーおよび値を持つエントリを StringDictionary に追加します。 |
![]() | Clear | StringDictionary からすべてのエントリを削除します。 |
![]() | ContainsKey | StringDictionary に特定のキーが格納されているかどうかを確認します。 |
![]() | ContainsValue | StringDictionary に特定の値が格納されているかどうかを確認します。 |
![]() | CopyTo | 1 次元の Array インスタンスの指定したインデックス位置に、文字列ディクショナリの値をコピーします。 |
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 (Object から継承されます。) |
![]() | GetEnumerator | 文字列ディクショナリを反復処理する列挙子を返します。 |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 (Object から継承されます。) |
![]() | GetType | 現在のインスタンスの Type を取得します。 (Object から継承されます。) |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。) |
![]() | Remove | 指定したキーを持つエントリを文字列ディクショナリから削除します。 |
![]() | ToString | 現在の Object を表す String を返します。 (Object から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 (Object から継承されます。) |

Weblioに収録されているすべての辞書からStringDictionaryを検索する場合は、下記のリンクをクリックしてください。

- StringDictionaryのページへのリンク