NameObjectCollectionBase.BaseAdd(String, Object) Método

Definición

Agrega una entrada con la clave y el valor especificados a la instancia NameObjectCollectionBase.

C#
protected void BaseAdd (string name, object value);
C#
protected void BaseAdd (string? name, object? value);

Parámetros

name
String

Clave de String de la entrada que se va a agregar. La clave puede ser null.

value
Object

Valor Object de la entrada que se va a agregar. El valor puede ser null.

Excepciones

La colección es de solo lectura.

Ejemplos

En el ejemplo de código siguiente se usa BaseAdd para crear un objeto NameObjectCollectionBase con elementos de .IDictionary

C#
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

*/

Comentarios

Si Count ya es igual a la capacidad, la capacidad de se incrementa mediante la reasignación automática de NameObjectCollectionBase la matriz interna y los elementos existentes se copian en la nueva matriz antes de agregar el nuevo elemento.

Si Count es menor que la capacidad, este método es una operación O(1). Si es necesario aumentar la capacidad para dar cabida al nuevo elemento, este método se convierte en una operación O(n), donde n es Count.

Se aplica a

Producto Versiones
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1
UWP 10.0