NameObjectCollectionBase.BaseSet 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
設定 NameObjectCollectionBase 執行個體中的項目值。
多載
BaseSet(Int32, Object) |
設定 NameObjectCollectionBase 執行個體指定索引處之項目的值。 |
BaseSet(String, Object) |
設定 NameObjectCollectionBase 執行個體中具有指定索引鍵之第一個項目的值 (如果有找到),否則將具有指定索引鍵和值的項目加入 NameObjectCollectionBase 執行個體。 |
範例
下列程式代碼範例會使用 BaseSet 來設定特定元素的值。
#using <System.dll>
using namespace System;
using namespace System::Collections;
using namespace System::Collections::Specialized;
public ref class MyCollection : public NameObjectCollectionBase {
// Gets or sets the value at the specified index.
public:
property Object^ default[ int ] {
Object^ get(int index) {
return( this->BaseGet( index ) );
}
void set( int index, Object^ value ) {
this->BaseSet( index, value );
}
}
// Gets or sets the value associated with the specified key.
property Object^ default[ String^ ] {
Object^ get(String^ key) {
return( this->BaseGet( key ) );
}
void set( String^ key, Object^ value ) {
this->BaseSet( key, value );
}
}
// Gets a String array that contains all the keys in the collection.
property array<String^>^ AllKeys {
array<String^>^ get() {
return( this->BaseGetAllKeys() );
}
}
// Adds elements from an IDictionary into the new collection.
MyCollection( IDictionary^ d ) {
for each ( DictionaryEntry^ de in d ) {
this->BaseAdd( (String^) de->Key, de->Value );
}
}
};
public ref class SamplesNameObjectCollectionBase {
public:
static void Main() {
// Creates and initializes a new MyCollection instance.
IDictionary^ d = gcnew ListDictionary();
d->Add( "red", "apple" );
d->Add( "yellow", "banana" );
d->Add( "green", "pear" );
MyCollection^ myCol = gcnew MyCollection( d );
Console::WriteLine( "Initial state of the collection:" );
PrintKeysAndValues2( myCol );
Console::WriteLine();
// Sets the value at index 1.
myCol[1] = "sunflower";
Console::WriteLine( "After setting the value at index 1:" );
PrintKeysAndValues2( myCol );
Console::WriteLine();
// Sets the value associated with the key "red".
myCol["red"] = "tulip";
Console::WriteLine( "After setting the value associated with the key \"red\":" );
PrintKeysAndValues2( myCol );
}
static void PrintKeysAndValues2( MyCollection^ myCol ) {
for each ( String^ s in myCol->AllKeys ) {
Console::WriteLine( "{0}, {1}", s, myCol[s] );
}
}
};
int main()
{
SamplesNameObjectCollectionBase::Main();
}
/*
This code produces the following output.
Initial state of the collection:
red, apple
yellow, banana
green, pear
After setting the value at index 1:
red, apple
yellow, sunflower
green, pear
After setting the value associated with the key "red":
red, tulip
yellow, sunflower
green, pear
*/
using System;
using System.Collections;
using System.Collections.Specialized;
public class MyCollection : NameObjectCollectionBase {
// Gets or sets the value at the specified index.
public Object this[ int index ] {
get {
return( this.BaseGet( index ) );
}
set {
this.BaseSet( index, value );
}
}
// Gets or sets the value associated with the specified key.
public Object this[ String key ] {
get {
return( this.BaseGet( key ) );
}
set {
this.BaseSet( key, value );
}
}
// Gets a String array that contains all the keys in the collection.
public String[] AllKeys {
get {
return( this.BaseGetAllKeys() );
}
}
// Adds elements from an IDictionary into the new collection.
public MyCollection( IDictionary d ) {
foreach ( DictionaryEntry de in d ) {
this.BaseAdd( (String) de.Key, de.Value );
}
}
}
public class SamplesNameObjectCollectionBase {
public static void Main() {
// Creates and initializes a new MyCollection instance.
IDictionary d = new ListDictionary();
d.Add( "red", "apple" );
d.Add( "yellow", "banana" );
d.Add( "green", "pear" );
MyCollection myCol = new MyCollection( d );
Console.WriteLine( "Initial state of the collection:" );
PrintKeysAndValues2( myCol );
Console.WriteLine();
// Sets the value at index 1.
myCol[1] = "sunflower";
Console.WriteLine( "After setting the value at index 1:" );
PrintKeysAndValues2( myCol );
Console.WriteLine();
// Sets the value associated with the key "red".
myCol["red"] = "tulip";
Console.WriteLine( "After setting the value associated with the key \"red\":" );
PrintKeysAndValues2( myCol );
}
public static void PrintKeysAndValues2( MyCollection myCol ) {
foreach ( String s in myCol.AllKeys ) {
Console.WriteLine( "{0}, {1}", s, myCol[s] );
}
}
}
/*
This code produces the following output.
Initial state of the collection:
red, apple
yellow, banana
green, pear
After setting the value at index 1:
red, apple
yellow, sunflower
green, pear
After setting the value associated with the key "red":
red, tulip
yellow, sunflower
green, pear
*/
Imports System.Collections
Imports System.Collections.Specialized
Public Class MyCollection
Inherits NameObjectCollectionBase
' Gets or sets the value at the specified index.
Default Public Property Item(index As Integer) As [Object]
Get
Return Me.BaseGet(index)
End Get
Set
Me.BaseSet(index, value)
End Set
End Property
' Gets or sets the value associated with the specified key.
Default Public Property Item(key As [String]) As [Object]
Get
Return Me.BaseGet(key)
End Get
Set
Me.BaseSet(key, value)
End Set
End Property
' Gets a String array that contains all the keys in the collection.
Public ReadOnly Property AllKeys() As [String]()
Get
Return Me.BaseGetAllKeys()
End Get
End Property
' Adds elements from an IDictionary into the new collection.
Public Sub New(d As IDictionary)
Dim de As DictionaryEntry
For Each de In d
Me.BaseAdd(CType(de.Key, [String]), de.Value)
Next de
End Sub
End Class
Public Class SamplesNameObjectCollectionBase
Public Shared Sub Main()
' Creates and initializes a new MyCollection instance.
Dim d = New ListDictionary()
d.Add("red", "apple")
d.Add("yellow", "banana")
d.Add("green", "pear")
Dim myCol As New MyCollection(d)
Console.WriteLine("Initial state of the collection:")
PrintKeysAndValues2(myCol)
Console.WriteLine()
' Sets the value at index 1.
myCol(1) = "sunflower"
Console.WriteLine("After setting the value at index 1:")
PrintKeysAndValues2(myCol)
Console.WriteLine()
' Sets the value associated with the key "red".
myCol("red") = "tulip"
Console.WriteLine("After setting the value associated with the key ""red"":")
PrintKeysAndValues2(myCol)
End Sub
Public Shared Sub PrintKeysAndValues2(myCol As MyCollection)
Dim s As [String]
For Each s In myCol.AllKeys
Console.WriteLine("{0}, {1}", s, myCol(s))
Next s
End Sub
End Class
'This code produces the following output.
'
'Initial state of the collection:
'red, apple
'yellow, banana
'green, pear
'
'After setting the value at index 1:
'red, apple
'yellow, sunflower
'green, pear
'
'After setting the value associated with the key "red":
'red, tulip
'yellow, sunflower
'green, pear
BaseSet(Int32, Object)
設定 NameObjectCollectionBase 執行個體指定索引處之項目的值。
protected:
void BaseSet(int index, System::Object ^ value);
protected void BaseSet (int index, object value);
protected void BaseSet (int index, object? value);
member this.BaseSet : int * obj -> unit
Protected Sub BaseSet (index As Integer, value As Object)
參數
- index
- Int32
要設定之項目的以零為基底的索引。
例外狀況
集合是唯讀的。
index
超出集合索引的有效範圍。
備註
這個方法是 O (1) 作業。
另請參閱
適用於
BaseSet(String, Object)
設定 NameObjectCollectionBase 執行個體中具有指定索引鍵之第一個項目的值 (如果有找到),否則將具有指定索引鍵和值的項目加入 NameObjectCollectionBase 執行個體。
protected:
void BaseSet(System::String ^ name, System::Object ^ value);
protected void BaseSet (string name, object value);
protected void BaseSet (string? name, object? value);
member this.BaseSet : string * obj -> unit
Protected Sub BaseSet (name As String, value As Object)
參數
例外狀況
集合是唯讀的。
備註
如果集合包含具有指定索引鍵的多個專案,這個方法只會設定第一個專案。 若要設定具有相同索引鍵的後續專案值,請使用列舉值逐一查看集合,並比較索引鍵。
這個方法是 O (1) 作業。