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 名前空間