NameObjectCollectionBase.BaseSet Method (String, Object)
.NET Framework 3.0
Sets the value of the first entry with the specified key in the NameObjectCollectionBase instance, if found; otherwise, adds an entry with the specified key and value into the NameObjectCollectionBase instance.
Namespace: System.Collections.Specialized
Assembly: System (in system.dll)
Assembly: System (in system.dll)
'Declaration Protected Sub BaseSet ( _ name As String, _ value As Object _ ) 'Usage Dim name As String Dim value As Object Me.BaseSet(name, value)
protected void BaseSet ( String name, Object value )
protected function BaseSet ( name : String, value : Object )
Not applicable.
Parameters
- name
The String key of the entry to set. The key can be a null reference (Nothing in Visual Basic).
- value
The Object that represents the new value of the entry to set. The value can be a null reference (Nothing in Visual Basic).
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] 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 '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:") 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 '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
import System.* ;
import System.Collections.* ;
import System.Collections.Specialized.* ;
public class MyCollection extends NameObjectCollectionBase
{
// Gets or sets the value at the specified index.
/** @property
*/
public Object get_Item(int index)
{
return this.BaseGet(index) ;
} //get_Item
/** @property
*/
public void set_Item(int index,Object value )
{
this.BaseSet(index, value);
} //set_Item
// Gets or sets the value associated with the specified key.
/** @property
*/
public Object get_Item(String key)
{
return this.BaseGet(key) ;
} //get_Item
/** @property
*/
public void set_Item(String key,Object value )
{
this.BaseSet(key, value);
} //set_Item
// Gets a String array that contains all the keys in the collection.
/** @property
*/
public String[] get_AllKeys()
{
return this.BaseGetAllKeys() ;
} //get_AllKeys
// Adds elements from an IDictionary into the new collection.
public MyCollection(IDictionary d)
{
IDictionaryEnumerator objEnum = d.GetEnumerator();
while (objEnum.MoveNext()) {
DictionaryEntry de = (DictionaryEntry)objEnum.get_Current();
this.BaseAdd(((String)(de.get_Key())), de.get_Value());
}
} //MyCollection
} //MyCollection
public class SamplesNameObjectCollectionBase
{
public static void main(String[] args)
{
// 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.set_Item(1, "sunflower");
Console.WriteLine("After setting the value at index 1:");
PrintKeysAndValues2(myCol);
Console.WriteLine();
// Sets the value associated with the key "red".
myCol.set_Item("red", "tulip");
Console.WriteLine("After setting the value associated with the key"
+ " \"red\":");
PrintKeysAndValues2(myCol);
} //main
public static void PrintKeysAndValues2(MyCollection myCol)
{
String str = new String();
for (int iCtr = 0; iCtr < myCol.get_Count(); iCtr++) {
str = myCol.get_AllKeys()[iCtr];
Console.WriteLine("{0} , {1}", str, (myCol.get_Item(str)).ToString());
}
} //PrintKeysAndValues2
} //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 98, Windows Server 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.Community Additions
ADD
Show: