次の方法で共有


StringDictionary.Values プロパティ

StringDictionary 内の値のコレクションを取得します。

Public Overridable ReadOnly Property Values As ICollection
[C#]
public virtual ICollection Values {get;}
[C++]
public: __property virtual ICollection* get_Values();
[JScript]
public function get Values() : ICollection;

プロパティ値

StringDictionary 内の値を格納している ICollection

解説

ICollection 内の値の順序は指定されていませんが、関連付けられているキーが、 Keys メソッドから返された ICollection 内で並べられている順序と同じです。

返される ICollection は静的なコピーではありません。代わりに、この ICollection は、元の StringDictionary の値を参照します。そのため、 StringDictionary に対する変更は、 ICollection にも反映されます。

使用例

[Visual Basic, C#, C++] 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")

      ' Displays the values in the StringDictionary in two different ways.
      Console.WriteLine("Displays the elements using for each:")
      PrintKeysAndValues(myCol)
      Console.WriteLine("Displays the elements using the Keys, Values, Count, and indexer properties:")
      PrintKeysAndValues2(myCol)

   End Sub 'Main

   Public Shared Sub PrintKeysAndValues(myCol As StringDictionary)
      Dim de As DictionaryEntry

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

   End Sub 'PrintKeysAndValues

   Public Shared Sub PrintKeysAndValues2(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}]     {1,-10} {2}", i, myKeys(i), myCol(myKeys(i)))
      Next i
      Console.WriteLine()

   End Sub 'PrintKeysAndValues2

End Class 'SamplesStringDictionary 


'This code produces the following output.
'
'Displays the elements using for each:
'   KEY        VALUE
'   green      verde
'   red        rojo
'   blue       azul
'
'Displays the elements using the Keys, Values, Count, and indexer properties:
'   [INDEX] KEY        VALUE
'   [0]     green      verde
'   [1]     red        rojo
'   [2]     blue       azul
'


[C#] 
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" );

      // Displays the values in the StringDictionary in two different ways.
      Console.WriteLine( "Displays the elements using foreach:" );
      PrintKeysAndValues( myCol );
      Console.WriteLine( "Displays the elements using the Keys, Values, Count, and indexer properties:" );
      PrintKeysAndValues2( myCol );

   }

   public static void PrintKeysAndValues( StringDictionary myCol )  {
      Console.WriteLine( "   KEY        VALUE" );
      foreach ( DictionaryEntry de in myCol )
         Console.WriteLine( "   {0,-10} {1}", de.Key, de.Value );
      Console.WriteLine();
   }

   public static void PrintKeysAndValues2( 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}]     {1,-10} {2}", i, myKeys[i], myCol[myKeys[i]] );
      Console.WriteLine();
   }


}

/*
This code produces the following output.

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

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

*/

[C++] 
#using <mscorlib.dll>
#using <System.dll>
using namespace System;
using namespace System::Collections;
using namespace System::Collections::Specialized;

void PrintKeysAndValues( StringDictionary* myCol )  {
   Console::WriteLine( S"   KEY        VALUE" );
   IEnumerator* enum0 = myCol->GetEnumerator();
   while (enum0->MoveNext())
   {
      DictionaryEntry* de = __try_cast<DictionaryEntry*>(enum0->Current);
      Console::WriteLine( S"   {0,-10} {1}", de->Key, de->Value );
   }
   Console::WriteLine();
}

void PrintKeysAndValues2( StringDictionary* myCol )  {
   String* myKeys[] = static_cast<String*[]>( Array::CreateInstance( __typeof(String), myCol->Count ) );
   myCol->Keys->CopyTo( myKeys, 0 );

   Console::WriteLine( S"   [INDEX] KEY        VALUE" );
   for ( int i = 0; i < myCol->Count; i++ )
      Console::WriteLine( S"   [{0}]     {1,-10} {2}", __box(i), myKeys[i], myCol->Item[myKeys[i]] );
   Console::WriteLine();
}

int main()  {

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

   // Displays the values in the StringDictionary in two different ways.
   Console::WriteLine( S"Displays the elements using foreach:" );
   PrintKeysAndValues( myCol );
   Console::WriteLine( S"Displays the elements using the Keys, Values, Count, and indexer properties:" );
   PrintKeysAndValues2( myCol );

}

/*
This code produces the following output.

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

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

*/

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

参照

StringDictionary クラス | StringDictionary メンバ | System.Collections.Specialized 名前空間