NameObjectCollectionBase.BaseSet Methode

Definitie

Hiermee stelt u de waarde van een vermelding in het NameObjectCollectionBase exemplaar in.

Overloads

Name Description
BaseSet(Int32, Object)

Hiermee stelt u de waarde van de vermelding in op de opgegeven index van het NameObjectCollectionBase exemplaar.

BaseSet(String, Object)

Hiermee stelt u de waarde van de eerste vermelding in met de opgegeven sleutel in het NameObjectCollectionBase exemplaar, indien gevonden; anders voegt u een vermelding toe met de opgegeven sleutel en waarde in het NameObjectCollectionBase exemplaar.

Voorbeelden

In het volgende codevoorbeeld wordt de BaseSet waarde van een specifiek element ingesteld.

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)

Hiermee stelt u de waarde van de vermelding in op de opgegeven index van het NameObjectCollectionBase exemplaar.

protected:
 void BaseSet(int index, System::Object ^ value);
protected void BaseSet(int index, object value);
member this.BaseSet : int * obj -> unit
Protected Sub BaseSet (index As Integer, value As Object)

Parameters

index
Int32

De op nul gebaseerde index van de in te stellen vermelding.

value
Object

De Object waarde die de nieuwe waarde van de in te stellen vermelding vertegenwoordigt. De waarde kan zijn null.

Uitzonderingen

De verzameling heeft het kenmerk Alleen-lezen.

index valt buiten het geldige bereik van indexen voor de verzameling.

Opmerkingen

Deze methode is een O(1)-bewerking.

Zie ook

Van toepassing op

BaseSet(String, Object)

Hiermee stelt u de waarde van de eerste vermelding in met de opgegeven sleutel in het NameObjectCollectionBase exemplaar, indien gevonden; anders voegt u een vermelding toe met de opgegeven sleutel en waarde in het NameObjectCollectionBase exemplaar.

protected:
 void BaseSet(System::String ^ name, System::Object ^ value);
protected void BaseSet(string name, object value);
member this.BaseSet : string * obj -> unit
Protected Sub BaseSet (name As String, value As Object)

Parameters

name
String

De String sleutel van de in te stellen vermelding. De sleutel kan zijn null.

value
Object

De Object waarde die de nieuwe waarde van de in te stellen vermelding vertegenwoordigt. De waarde kan zijn null.

Uitzonderingen

De verzameling heeft het kenmerk Alleen-lezen.

Opmerkingen

Als de verzameling meerdere vermeldingen met de opgegeven sleutel bevat, wordt met deze methode alleen de eerste vermelding ingesteld. Als u de waarden van volgende vermeldingen met dezelfde sleutel wilt instellen, gebruikt u de enumerator om de verzameling te doorlopen en de sleutels te vergelijken.

Deze methode is een O(1)-bewerking.

Zie ook

Van toepassing op