Hashtable.Item[Object] プロパティ


指定されたキーに関連付けられた値を取得または設定します。Gets or sets the value associated with the specified key.

 virtual property System::Object ^ default[System::Object ^] { System::Object ^ get(System::Object ^ key); void set(System::Object ^ key, System::Object ^ value); };
public virtual object this[object key] { get; set; }
member this.Item(obj) : obj with get, set
Default Public Overridable Property Item(key As Object) As Object



値を取得または設定する対象のキー。The key whose value to get or set.


指定されたキーに関連付けられている値。The value associated with the specified key. 指定したキーが見つからない場合、そのキーを取得しようとした場合は null が返され、そのキーを設定しようとした場合は、指定したキーを使用して新しい要素が作成されます。If the specified key is not found, attempting to get it returns null, and attempting to set it creates a new element using the specified key.



keynull です。key is null.

このプロパティが設定されていますが、Hashtable が読み取り専用です。The property is set and the Hashtable is read-only.

または-or- プロパティが設定済みで、コレクション内に key が存在せず、Hashtable が固定サイズです。The property is set, key does not exist in the collection, and the Hashtable has a fixed size.


このプロパティでは、myCollection[key] という構文を使用して、コレクション内の特定の要素にアクセスできます。This property provides the ability to access a specific element in the collection by using the following syntax: myCollection[key].

また、Item[Object] プロパティを使用して、Hashtableに存在しないキーの値を設定することにより、新しい要素を追加することもできます。たとえば、myCollection["myNonexistentKey"] = myValueのようにします。You can also use the Item[Object] property to add new elements by setting the value of a key that does not exist in the Hashtable; for example, myCollection["myNonexistentKey"] = myValue. ただし、指定したキーが既に Hashtableに存在する場合は、Item[Object] プロパティを設定すると古い値が上書きされます。However, if the specified key already exists in the Hashtable, setting the Item[Object] property overwrites the old value. これに対し、Add メソッドでは、既存の要素は変更されません。In contrast, the Add method does not modify existing elements.

キーを nullすることはできませんが、値にはを指定できます。A key cannot be null, but a value can be. 指定されたキーが見つからなかったために返される null と、指定されたキーの値が nullために返される null を区別するには、Contains メソッドまたは ContainsKey メソッドを使用して、キーがリストに存在するかどうかを確認します。To distinguish between null that is returned because the specified key is not found and null that is returned because the value of the specified key is null, use the Contains method or the ContainsKey method to determine if the key exists in the list.

このプロパティの値の取得は O(1) 操作です。プロパティの設定は、O(1) 操作でもあります。Retrieving the value of this property is an O(1) operation; setting the property is also an O(1) operation.

このC#言語では、Item[Int32] プロパティを実装する代わりに、 thisキーワードを使用してインデクサーを定義します。The C# language uses the this keyword to define the indexers instead of implementing the Item[Int32] property. Visual Basic は、Item[Object] を既定のプロパティとして実装しており、同様のインデックス機能を提供します。Visual Basic implements Item[Object] as a default property, which provides the same indexing functionality.