La función AddRange para List en C#

Saad Aslam 12 octubre 2023
  1. Importancia de la función AddRange() en C#
  2. Implementar la función AddRange() en C#
La función AddRange para List en C#

Este artículo proporcionará una demostración de la función AddRange() y sus operaciones que se realizan en el lenguaje de programación C#.

Importancia de la función AddRange() en C#

El método AddRange en las listas permite agregar una colección completa de componentes a la vez. Al agregar elementos de una colección particular al final de una lista, se utiliza la función AddRange del lenguaje de programación C#.

Puede tomar el lugar del tedioso bucle foreach, que usa continuamente el método Add on List. Es posible enviar AddRange no solo una matriz u otra lista, sino también cualquier otra colección IEnumerable.

InsertRange() realiza acciones similares a las descritas anteriormente, pero también requiere un punto de partida como argumento. Primero, observamos el método de instancia AddRange() disponible en la biblioteca de clases base List para el lenguaje de programación C#.

InsertRange() es la función que implementa la función AddRange(). AddRange(), un método contenedor alrededor de InsertRange(), tiene una posición de destino de 0 como su ubicación de destino.

El método AddRange se diferencia de los arreglos en algunos aspectos clave. Si bien las listas pueden aumentar su tamaño dinámicamente, las matrices no se pueden expandir de esta manera.

El espacio de nombres System.Collections.Generic contiene la función AddRange(T) para la clase List. Esta función necesita recibir el parámetro colección, que se considera obligatorio.

System.Collections.Generic.IEnumerableT> es el tipo de valor para el argumento colección. La colección cuyos elementos deben agregarse al final de ListT> está representada por IEnumerableT>.

El orden en que se almacenan los componentes de la colección se conserva mediante ListT>. La siguiente descripción demuestra el prototipo de la función.

public void AddRange(System.Collections.Generic.IEnumerable<T> collection);

Implementar la función AddRange() en C#

Ahora que tenemos todo fuera del camino, veamos algunos casos para comprenderlos mejor. Este es el ejemplo más básico posible para ilustrar cómo la función AddRange() logra sus objetivos.

En primer lugar, creamos una lista de enteros y nombramos su variable l.

List<int> l = new List<int>();

Después de generar una lista de enteros, el siguiente paso es agregar algunos elementos a la lista que acabamos de generar.

l.Add(1);
l.Add(2);
l.Add(3);
l.Add(4);

El siguiente paso es construir una matriz del mismo tipo que la lista, que es una matriz del tipo entero con un tamaño de 4, y luego llenar la matriz.

int[] arr = new int[4];
arr[0] = 5;
arr[1] = 6;
arr[2] = 7;
arr[3] = 8;

Después de eso, usamos el método AddRange() en nuestra lista l, y como argumento proporcionamos el arr que construimos anteriormente en el proceso.

l.AddRange(arr);

Ahora se mostrará la lista que tenemos.

foreach (int val in l) {
  Console.WriteLine(val);
}

Observamos que cada miembro de la matriz también se incluyó en la lista.

Código fuente

using System;
using System.Collections.Generic;

public class AddRangeFunction {
  public static void Main() {
    List<int> l = new List<int>();
    l.Add(1);
    l.Add(2);
    l.Add(3);
    l.Add(4);

    int[] arr = new int[4];
    arr[0] = 5;
    arr[1] = 6;
    arr[2] = 7;
    arr[3] = 8;

    l.AddRange(arr);

    foreach (int val in l) {
      Console.WriteLine(val);
    }
  }
}

Producción :

1
2
3
4
5
6
7
8

Aquí hay otro ejemplo.

using System;
using System.Collections.Generic;

public class AddRangeFunction {
  public static void Main() {
    List<int> l = new List<int>();
    int[] arr = new int[4];
    arr[0] = 5;
    arr[1] = 6;
    arr[2] = 7;
    arr[3] = 8;

    l.AddRange(arr);

    foreach (int val in l) {
      Console.WriteLine(val);
    }
  }
}

Producción :

5
6
7
8

En este caso, seguimos el mismo procedimiento que hicimos en el anterior. En este caso particular, sin embargo, no había nada en nuestra lista.

Los elementos de nuestra lista no fueron marcados. Hemos incluido la matriz en la lista que antes estaba vacía.

Este ejemplo ilustra que es posible agregar elementos a una lista vacía. Al observar la salida, notará que los valores de la matriz se agregaron a la lista.

Supongamos que el nuevo conteo (el conteo actual más el tamaño de la colección) es mayor que la capacidad. En ese caso, la capacidad de ListT> aumenta mediante la reasignación automática de la matriz interna para acomodar los elementos adicionales.

Esto ocurre cuando el nuevo Count es mayor que la capacidad. Antes de agregar elementos nuevos, los elementos anteriores se copian primero en la matriz recién creada.

Autor: Saad Aslam
Saad Aslam avatar Saad Aslam avatar

I'm a Flutter application developer with 1 year of professional experience in the field. I've created applications for both, android and iOS using AWS and Firebase, as the backend. I've written articles relating to the theoretical and problem-solving aspects of C, C++, and C#. I'm currently enrolled in an undergraduate program for Information Technology.

LinkedIn

Artículo relacionado - Csharp List