This documentation is archived and is not being maintained.

StringDictionary.Values Property

Gets a collection of values in the StringDictionary.

[Visual Basic]
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;

Property Value

An ICollection that provides the values in the StringDictionary.

Remarks

The order of the values in the ICollection is unspecified, but it is the same order as the associated keys in the ICollection returned by the Keys method.

The returned ICollection is not a static copy; instead, the ICollection refers back to the values in the original StringDictionary. Therefore, changes to the StringDictionary continue to be reflected in the ICollection.

Example

[Visual Basic, C#, C++] The following code example enumerates the elements of a StringDictionary.

[Visual Basic] 
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] No example is available for JScript. To view a Visual Basic, C#, or C++ example, click the Language Filter button Language Filter in the upper-left corner of the page.

Requirements

Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family

See Also

StringDictionary Class | StringDictionary Members | System.Collections.Specialized Namespace

Show: