NameObjectCollectionBase.BaseAdd-Methode
Fügt einen Eintrag mit dem angegebenen Schlüssel und Wert der NameObjectCollectionBase-Instanz hinzu.
Namespace: System.Collections.Specialized
Assembly: System (in system.dll)
Syntax
'Declaration
Protected Sub BaseAdd ( _
name As String, _
value As Object _
)
'Usage
Dim name As String
Dim value As Object
Me.BaseAdd(name, value)
protected void BaseAdd (
string name,
Object value
)
protected:
void BaseAdd (
String^ name,
Object^ value
)
protected void BaseAdd (
String name,
Object value
)
protected function BaseAdd (
name : String,
value : Object
)
Parameter
- name
Der String-Schlüssel des hinzuzufügenden Eintrags. Der Schlüssel kann NULL (Nothing in Visual Basic) sein.
- value
Der Object-Wert des hinzuzufügenden Eintrags. Der Wert kann NULL (Nothing in Visual Basic) sein.
Ausnahmen
Ausnahmetyp | Bedingung |
---|---|
Die Auflistung ist schreibgeschützt. |
Hinweise
Wenn der Wert von Count bereits gleich der Kapazität ist, wird die Kapazität der NameObjectCollectionBase durch automatisches Neureservieren des internen Arrays erhöht, und die vorhandenen Elemente werden in das neue Array kopiert, bevor das neue Element hinzugefügt wird.
Wenn Count kleiner als die Kapazität ist, ist diese Methode eine O(1)-Operation. Wenn die Kapazität zur Anpassung an das neue Element erhöht werden muss, wird diese Methode zu einer O(n)-Operation, wobei n gleich Count ist.
Beispiel
Im folgenden Codebeispiel wird mit BaseAdd eine neue NameObjectCollectionBase mit Elementen aus einem IDictionary erstellt.
Imports System
Imports System.Collections
Imports System.Collections.Specialized
Public Class MyCollection
Inherits NameObjectCollectionBase
Private _de As New DictionaryEntry()
' Gets a key-and-value pair (DictionaryEntry) using an index.
Default Public ReadOnly Property Item(index As Integer) As DictionaryEntry
Get
_de.Key = Me.BaseGetKey(index)
_de.Value = Me.BaseGet(index)
Return _de
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)
' Displays the keys and values of the MyCollection instance.
Dim i As Integer
For i = 0 To myCol.Count - 1
Console.WriteLine("[{0}] : {1}, {2}", i, myCol(i).Key, myCol(i).Value)
Next i
End Sub 'Main
End Class 'SamplesNameObjectCollectionBase
'This code produces the following output.
'
'[0] : red, apple
'[1] : yellow, banana
'[2] : green, pear
using System;
using System.Collections;
using System.Collections.Specialized;
public class MyCollection : NameObjectCollectionBase {
private DictionaryEntry _de = new DictionaryEntry();
// Gets a key-and-value pair (DictionaryEntry) using an index.
public DictionaryEntry this[ int index ] {
get {
_de.Key = this.BaseGetKey( index );
_de.Value = this.BaseGet( index );
return( _de );
}
}
// 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 );
// Displays the keys and values of the MyCollection instance.
for ( int i = 0; i < myCol.Count; i++ ) {
Console.WriteLine( "[{0}] : {1}, {2}", i, myCol[i].Key, myCol[i].Value );
}
}
}
/*
This code produces the following output.
[0] : red, apple
[1] : yellow, banana
[2] : green, pear
*/
#using <system.dll>
using namespace System;
using namespace System::Collections;
using namespace System::Collections::Specialized;
public ref class MyCollection: public NameObjectCollectionBase
{
private:
DictionaryEntry _de;
public:
property DictionaryEntry Item [ int ]
{
// Gets a key-and-value pair (DictionaryEntry) using an index.
DictionaryEntry get( int index )
{
_de.Key = this->BaseGetKey( index );
_de.Value = this->BaseGet( index );
return (_de);
}
}
// Adds elements from an IDictionary* into the new collection.
MyCollection( IDictionary^ d )
{
IEnumerator^ myEnum = d->GetEnumerator();
while ( myEnum->MoveNext() )
{
DictionaryEntry^ de = safe_cast<DictionaryEntry^>(myEnum->Current);
this->BaseAdd( safe_cast<String^>(de->Key), de->Value );
}
}
};
int 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 );
// Displays the keys and values of the MyCollection instance.
for ( int i = 0; i < myCol->Count; i++ )
{
Console::WriteLine( "[{0}] : {1}, {2}", i, myCol->Item[ i ].Key, myCol->Item[ i ].Value );
}
}
/*
This code produces the following output.
[0] : red, apple
[1] : yellow, banana
[2] : green, pear
*/
import System.* ;
import System.Collections.* ;
import System.Collections.Specialized.* ;
public class MyCollection extends NameObjectCollectionBase
{
private DictionaryEntry _de = new DictionaryEntry();
// Gets a key-and-value pair (DictionaryEntry) using an index.
/** @property
*/
public DictionaryEntry get_Item(int index)
{
_de.set_Key(this.BaseGetKey(index));
_de.set_Value(this.BaseGet(index));
return _de ;
} //get_Item
// Adds elements from an IDictionary into the new collection.
public MyCollection(IDictionary d)
{
IEnumerator objEnum = d.GetEnumerator();
DictionaryEntry de;
while (objEnum.MoveNext()) {
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);
// Displays the keys and values of the MyCollection instance.
for (int i=0; i < myCol.get_Count(); i++) {
Console.WriteLine("[{0}] : {1}, {2}", System.Convert.ToString(i),
myCol.get_Item( i).get_Key(), myCol.get_Item( i).get_Value());
}
} //main
} //SamplesNameObjectCollectionBase
/*
This code produces the following output.
[0] : red, apple
[1] : yellow, banana
[2] : green, pear
*/
Plattformen
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.
Versionsinformationen
.NET Framework
Unterstützt in: 2.0, 1.1, 1.0
.NET Compact Framework
Unterstützt in: 2.0, 1.0
Siehe auch
Referenz
NameObjectCollectionBase-Klasse
NameObjectCollectionBase-Member
System.Collections.Specialized-Namespace