ListDictionary.Item プロパティ
指定したキーに関連付けられている値を取得または設定します。
名前空間: System.Collections.Specialized
アセンブリ: System (system.dll 内)
構文
'宣言
Public Default Property Item ( _
key As Object _
) As Object
'使用
Dim instance As ListDictionary
Dim key As Object
Dim value As Object
value = instance(key)
instance(key) = value
public Object this [
Object key
] { get; set; }
public:
virtual property Object^ default [Object^] {
Object^ get (Object^ key) sealed;
void set (Object^ key, Object^ value) sealed;
}
/** @property */
public final Object get_Item (Object key)
/** @property */
public final void set_Item (Object key, Object value)
JScript では、インデックス付きのプロパティは使用できますが、新規に宣言することはできません。.
パラメータ
- key
値を取得または設定する対象のキー。
プロパティ値
指定したキーに関連付けられている値。指定したキーが見つからない場合、そのキーを取得しようとした場合は null 参照 (Visual Basic では Nothing) が返され、そのキーを設定しようとした場合は、指定したキーを使用して新しいエントリが作成されます。
例外
例外の種類 | 条件 |
---|---|
key が null 参照 (Visual Basic では Nothing) です。 |
解説
このプロパティでは、myCollection[key]
という構文を使用して、コレクション内の特定の要素にアクセスできます。
Item プロパティを使用すると、ListDictionary 内に存在しないキーの値を設定することで、新しい要素を追加することもできます (例 : myCollection["myNonexistentKey"] = myValue
)。ただし、指定したキーが ListDictionary 内に既に存在する場合、Item プロパティを設定すると既存の値が上書きされます。対照的に、Add メソッドは既存の要素を変更しません。
キーには null 参照 (Visual Basic では Nothing) は使用できませんが、値には使用できます。指定したキーが存在しないために返される null 参照 (Visual Basic では Nothing) と、指定したキーの値が null 参照 (Visual Basic では Nothing) であるために返される null 参照 (Visual Basic では Nothing) を区別するには、Contains メソッドを使用して、キーがリストに存在するかどうかを確認します。
このメソッドは O(n) 操作です。ここで、n は Count です。
使用例
ListDictionary の要素を列挙するコード例を次に示します。
Imports System
Imports System.Collections
Imports System.Collections.Specialized
Public Class SamplesListDictionary
Public Shared Sub Main()
' Creates and initializes a new ListDictionary.
Dim myCol As New ListDictionary()
myCol.Add("Braeburn Apples", "1.49")
myCol.Add("Fuji Apples", "1.29")
myCol.Add("Gala Apples", "1.49")
myCol.Add("Golden Delicious Apples", "1.29")
myCol.Add("Granny Smith Apples", "0.89")
myCol.Add("Red Delicious Apples", "0.99")
' Display the contents of the collection using For Each. This is the preferred method.
Console.WriteLine("Displays the elements using For Each:")
PrintKeysAndValues(myCol)
' Display the contents of the collection using the enumerator.
Console.WriteLine("Displays the elements using the IDictionaryEnumerator:")
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)
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 PrintKeysAndValues(myCol As IDictionary)
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 'PrintKeysAndValues
' 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 IDictionary)
Dim myEnumerator As IDictionaryEnumerator = myCol.GetEnumerator()
Console.WriteLine(" KEY VALUE")
While myEnumerator.MoveNext()
Console.WriteLine(" {0,-25} {1}", myEnumerator.Key, myEnumerator.Value)
End While
Console.WriteLine()
End Sub 'PrintKeysAndValues2
' Uses the Keys, Values, Count, and Item properties.
Public Shared Sub PrintKeysAndValues3(myCol As ListDictionary)
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 'SamplesListDictionary
'This code produces the following output.
'
'Displays the elements using For Each:
' KEY VALUE
' Braeburn Apples 1.49
' Fuji Apples 1.29
' Gala Apples 1.49
' Golden Delicious Apples 1.29
' Granny Smith Apples 0.89
' Red Delicious Apples 0.99
'
'Displays the elements using the IDictionaryEnumerator:
' KEY VALUE
' Braeburn Apples 1.49
' Fuji Apples 1.29
' Gala Apples 1.49
' Golden Delicious Apples 1.29
' Granny Smith Apples 0.89
' Red Delicious Apples 0.99
'
'Displays the elements using the Keys, Values, Count, and Item properties:
' INDEX KEY VALUE
' 0 Braeburn Apples 1.49
' 1 Fuji Apples 1.29
' 2 Gala Apples 1.49
' 3 Golden Delicious Apples 1.29
' 4 Granny Smith Apples 0.89
' 5 Red Delicious Apples 0.99
using System;
using System.Collections;
using System.Collections.Specialized;
public class SamplesListDictionary {
public static void Main() {
// Creates and initializes a new ListDictionary.
ListDictionary myCol = new ListDictionary();
myCol.Add( "Braeburn Apples", "1.49" );
myCol.Add( "Fuji Apples", "1.29" );
myCol.Add( "Gala Apples", "1.49" );
myCol.Add( "Golden Delicious Apples", "1.29" );
myCol.Add( "Granny Smith Apples", "0.89" );
myCol.Add( "Red Delicious Apples", "0.99" );
// 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 IDictionaryEnumerator:" );
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 );
}
// 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( IDictionary 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( IDictionary myCol ) {
IDictionaryEnumerator myEnumerator = myCol.GetEnumerator();
Console.WriteLine( " KEY VALUE" );
while ( myEnumerator.MoveNext() )
Console.WriteLine( " {0,-25} {1}", myEnumerator.Key, myEnumerator.Value );
Console.WriteLine();
}
// Uses the Keys, Values, Count, and Item properties.
public static void PrintKeysAndValues3( ListDictionary 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
Braeburn Apples 1.49
Fuji Apples 1.29
Gala Apples 1.49
Golden Delicious Apples 1.29
Granny Smith Apples 0.89
Red Delicious Apples 0.99
Displays the elements using the IDictionaryEnumerator:
KEY VALUE
Braeburn Apples 1.49
Fuji Apples 1.29
Gala Apples 1.49
Golden Delicious Apples 1.29
Granny Smith Apples 0.89
Red Delicious Apples 0.99
Displays the elements using the Keys, Values, Count, and Item properties:
INDEX KEY VALUE
0 Braeburn Apples 1.49
1 Fuji Apples 1.29
2 Gala Apples 1.49
3 Golden Delicious Apples 1.29
4 Granny Smith Apples 0.89
5 Red Delicious Apples 0.99
*/
#using <System.dll>
using namespace System;
using namespace System::Collections;
using namespace System::Collections::Specialized;
void PrintKeysAndValues1( IDictionary^ myCol );
void PrintKeysAndValues2( IDictionary^ myCol );
void PrintKeysAndValues3( ListDictionary^ myCol );
int main()
{
// Creates and initializes a new ListDictionary.
ListDictionary^ myCol = gcnew ListDictionary;
myCol->Add( "Braeburn Apples", "1.49" );
myCol->Add( "Fuji Apples", "1.29" );
myCol->Add( "Gala Apples", "1.49" );
myCol->Add( "Golden Delicious Apples", "1.29" );
myCol->Add( "Granny Smith Apples", "0.89" );
myCol->Add( "Red Delicious Apples", "0.99" );
// 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 IDictionaryEnumerator:" );
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 );
}
// 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.
void PrintKeysAndValues1( IDictionary^ myCol ) {
Console::WriteLine( " KEY VALUE" );
for each ( DictionaryEntry^ de in myCol )
Console::WriteLine( " {0,-25} {1}", de->Key, de->Value );
Console::WriteLine();
}
// Uses the enumerator.
void PrintKeysAndValues2( IDictionary^ myCol )
{
IDictionaryEnumerator^ myEnumerator = myCol->GetEnumerator();
Console::WriteLine( " KEY VALUE" );
while ( myEnumerator->MoveNext() )
Console::WriteLine( " {0,-25} {1}", myEnumerator->Key, myEnumerator->Value );
Console::WriteLine();
}
// Uses the Keys, Values, Count, and Item properties.
void PrintKeysAndValues3( ListDictionary^ 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 for each:
KEY VALUE
Braeburn Apples 1.49
Fuji Apples 1.29
Gala Apples 1.49
Golden Delicious Apples 1.29
Granny Smith Apples 0.89
Red Delicious Apples 0.99
Displays the elements using the IDictionaryEnumerator:
KEY VALUE
Braeburn Apples 1.49
Fuji Apples 1.29
Gala Apples 1.49
Golden Delicious Apples 1.29
Granny Smith Apples 0.89
Red Delicious Apples 0.99
Displays the elements using the Keys, Values, Count, and Item properties:
INDEX KEY VALUE
0 Braeburn Apples 1.49
1 Fuji Apples 1.29
2 Gala Apples 1.49
3 Golden Delicious Apples 1.29
4 Granny Smith Apples 0.89
5 Red Delicious Apples 0.99
*/
import System.*;
import System.Collections.*;
import System.Collections.Specialized.*;
import System.Collections.DictionaryEntry;
public class SamplesListDictionary
{
public static void main(String[] args)
{
// Creates and initializes a new ListDictionary.
ListDictionary myCol = new ListDictionary();
myCol.Add("Braeburn Apples", "1.49");
myCol.Add("Fuji Apples", "1.29");
myCol.Add("Gala Apples", "1.49");
myCol.Add("Golden Delicious Apples", "1.29");
myCol.Add("Granny Smith Apples", "0.89");
myCol.Add("Red Delicious Apples", "0.99");
// Display the contents of the collection using for. This is the
// preferred method.
Console.WriteLine("Displays the elements using for:");
PrintKeysAndValues1(myCol);
// Display the contents of the collection using the enumerator.
Console.WriteLine("Displays the elements using the"
+ " IDictionaryEnumerator:");
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);
} //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(IDictionary myCol)
{
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++) {
Console.WriteLine(" {0,-25} {1}", strKeys[iCtr],
myCol.get_Item(strKeys[iCtr]));
}
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(IDictionary myCol)
{
IDictionaryEnumerator myEnumerator = myCol.GetEnumerator();
Console.WriteLine(" KEY VALUE");
while (myEnumerator.MoveNext()) {
Console.WriteLine(" {0,-25} {1}", myEnumerator.get_Key(),
myEnumerator.get_Value());
}
Console.WriteLine();
} //PrintKeysAndValues2
// Uses the Keys, Values, Count, and Item properties.
public static void PrintKeysAndValues3(ListDictionary 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
}//SamplesListDictionary
/*
This code produces the following output.
Displays the elements using for:
KEY VALUE
Braeburn Apples 1.49
Fuji Apples 1.29
Gala Apples 1.49
Golden Delicious Apples 1.29
Granny Smith Apples 0.89
Red Delicious Apples 0.99
Displays the elements using the IDictionaryEnumerator:
KEY VALUE
Braeburn Apples 1.49
Fuji Apples 1.29
Gala Apples 1.49
Golden Delicious Apples 1.29
Granny Smith Apples 0.89
Red Delicious Apples 0.99
Displays the elements using the Keys, Values, Count, and Item properties:
INDEX KEY VALUE
0 Braeburn Apples 1.49
1 Fuji Apples 1.29
2 Gala Apples 1.49
3 Golden Delicious Apples 1.29
4 Granny Smith Apples 0.89
5 Red Delicious Apples 0.99
*/
プラットフォーム
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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
バージョン情報
.NET Framework
サポート対象 : 2.0、1.1、1.0
.NET Compact Framework
サポート対象 : 2.0、1.0
参照
関連項目
ListDictionary クラス
ListDictionary メンバ
System.Collections.Specialized 名前空間
Add