This documentation is archived and is not being maintained.

NameObjectCollectionBase.BaseSet Method (Int32, Object)

Sets the value of the entry at the specified index of the NameObjectCollectionBase instance.

Namespace:  System.Collections.Specialized
Assembly:  System (in System.dll)

Protected Sub BaseSet ( _
	index As Integer, _
	value As Object _
Dim index As Integer 
Dim value As Object 

Me.BaseSet(index, value)


Type: System.Int32

The zero-based index of the entry to set.

Type: System.Object

The Object that represents the new value of the entry to set. The value can be Nothing.


The collection is read-only.


index is outside the valid range of indexes for the collection.

This method is an O(1) operation.

The following code example uses BaseSet to set the value of a specific element.

Imports System
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]
         Return Me.BaseGet(index)
      End Get 
         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]
         Return Me.BaseGet(key)
      End Get 
         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]()
         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 'New 

End Class 'MyCollection

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:")

      ' Sets the value at index 1.
      myCol(1) = "sunflower"
      Console.WriteLine("After setting the value at index 1:")

      ' Sets the value associated with the key "red".
      myCol("red") = "tulip"
      Console.WriteLine("After setting the value associated with the key ""red"":")

   End Sub 'Main

   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 'PrintKeysAndValues2

End Class 'SamplesNameObjectCollectionBase 

'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

Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile for Smartphone, Windows Mobile for Pocket PC, Xbox 360, Zune

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

.NET Framework

Supported in: 3.5, 3.0, 2.0, 1.1, 1.0

.NET Compact Framework

Supported in: 3.5, 2.0, 1.0

XNA Framework

Supported in: 3.0, 2.0, 1.0