共用方式為


NameObjectCollectionBase.BaseSet 方法

定義

設定 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.cs
來源:
NameObjectCollectionBase.cs
來源:
NameObjectCollectionBase.cs

設定 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

要設定之項目的以零為基底的索引。

value
Object

Object,代表要設定之項目的新值。 這個值可以是 null

例外狀況

集合是唯讀的。

index 超出集合索引的有效範圍。

備註

這個方法是 O (1) 作業。

另請參閱

適用於

BaseSet(String, Object)

來源:
NameObjectCollectionBase.cs
來源:
NameObjectCollectionBase.cs
來源:
NameObjectCollectionBase.cs

設定 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)

參數

name
String

要設定之項目的 String 索引鍵。 這個索引鍵可以是 null

value
Object

Object,代表要設定之項目的新值。 這個值可以是 null

例外狀況

集合是唯讀的。

備註

如果集合包含具有指定索引鍵的多個專案,這個方法只會設定第一個專案。 若要設定具有相同索引鍵的後續專案值,請使用列舉值逐一查看集合,並比較索引鍵。

這個方法是 O (1) 作業。

另請參閱

適用於