English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
List <T> es una colección de objetos de tipo fuerte, que se puede acceder mediante índice y tiene métodos para ordenar, buscar y modificar la lista. Es la versión genérica de ArrayList en el espacio de nombres System.Collection.Generic.
List<T> es equivalente a ArrayList, que implementa IList <T>.
Está en el espacio de nombres System.Collection.Generic.
List<T> puede contener elementos de tipo especificado. Proporciona comprobación de tipo en tiempo de compilación y no realiza boxing/Desempaquetar, porque es genérico.
Se puede usar el método Add(), AddRange() o collection-Usar la sintaxis de inicializador (inicializador de conjunto) para agregar elementos.
Se puede acceder a los elementos pasando un índice, por ejemplo myList[0]. El índice comienza en cero.
List<T> es más rápido y menos propenso a errores que ArrayList.
List<T> es una colección genérica, por lo que necesita especificar el tipo de datos que puede almacenar el tipo de parámetro de tipo. El siguiente ejemplo muestra cómo crear una lista y agregar elementos.
List<int> primeNumbers = new List<int>(); primeNumbers.Add(1); // Agregar elementos usando el método add() primeNumbers.Add(3); primeNumbers.Add(5); primeNumbers.Add(7); var cities = new List<string>(); cities.Add("New York"); cities.Add("London"); cities.Add("Mumbai"); cities.Add("Chicago"); cities.Add(null);// Las listas de referencias permiten null //Usar collection-Usar la sintaxis de inicializador para agregar elementos var bigCities = new List<string>() { "New York", "London", "Mumbai", "Chicago" });
En el ejemplo anterior,
List<int> primeNumbers = new List<int>();
Crear una lista de tipo int. Del mismo modo, cities y bigcity son List de tipo string. Luego se pueden agregar elementos a la lista usando el método add() o la sintaxis de inicializador de conjunto.
También se puede usar el inicializador de conjunto (collection initializer)-Usando la sintaxis de inicializador (initializer) para agregar elementos de clases personalizadas. En el siguiente ejemplo, se agrega un objeto de la clase Student a List<Student>.
var students = new List<Student>() { new Student(){ Id = 1, Name="Bill"}, new Student(){ Id = 2, Name="Steve"}, new Student(){ Id = 3, Name="Ram"}, new Student(){ Id = 4, Name="Abdul" });
Agregue todos los elementos de un array o de otro conjunto a la List usando el método AddRange().
Firma de AddRange():
void AddRange(IEnumerable<T> collection)
string[] cities = new string[3]{ "Mumbai", "London", "New York" }; var popularCities = new List<string>(); // Agregar un array a la lista popularCities.AddRange(cities); var favouriteCities = new List<string>(); // Agregar lista favouriteCities.AddRange(popularCities);
Se puede acceder a la lista mediante índice, for/Ciclo foreach y consulta LINQ para acceder a la lista. La lista comienza en índice cero. Pasar el índice entre corchetes para acceder a un elemento de lista individual, como en un array. Iterar la colección List<T> utilizando foreach o for.
List<int> numbers = new List<int>() { 1, 2, 5, 7, 8, 10 }); Console.WriteLine(numbers[0]); // Grabado1 1] // Grabado2 2] // Grabado5 3] // Grabado7 // Utilizar método LINQ foreach numbers.ForEach(num => Console.WriteLine(num + ", ")//imprimir1,2,5,7,8,10, // Utilizar bucle for for(int i = 0; i < numbers.Count; i++) Console.WriteLine(numbers[i]);
List<T> implementa la interfaz IEnumerable. Por lo tanto, podemos usar la sintaxis de consulta LINQ o la sintaxis de método para consultar la lista, como se muestra a continuación.
var students = new List<Student>() { new Student(){ Id = 1, Name="Bill"}, new Student(){ Id = 2, Name="Steve"}, new Student(){ Id = 3, Name="Ram"}, new Student(){ Id = 4, Name="Abdul" }); //Obtener todos los estudiantes con el nombre "Bill" var result = from s in students where s.Name == "Bill" select s; foreach(var student in result) Console.WriteLine(student.Id + ", "" + student.Name);
Utilice el método Insert() para insertar el elemento en la colección en la posición específica de List<T>.
Insert() firma:
void Insert(int index, T item);
var numbers = new List<int>(){ 10, 20, 30, 40 }; numbers.Insert(1, 11);// Insertar en la primera posición11En10Después. foreach (var num in numbers) Console.Write(num);
Usar el método Remove() para eliminar el primer elemento especificado de la colección List<T>. Usar el método RemoveAt() para eliminar el elemento desde la posición especificada. Si no hay elemento en la posición especificada, se lanzará ArgumentOutOfRangeException.
Firma de Remove()
bool Remove(T item)
Firma de RemoveAt()
void RemoveAt(int index)
var numbers = new List<int>(){ 10, 20, 30, 40, 10 }); numbers.Remove(10); // Eliminar de la lista10 numbers.RemoveAt(2); //Eliminar el tercer elemento (el índice comienza en 0) //numbers.RemoveAt(10); //Lanzar ArgumentOutOfRangeException foreach (var el in intList) Console.Write(el); // Salida 20 30
Usar el método Contains() para determinar si el elemento está en la lista <T>.
var numbers = new List<int>(){ 10, 20, 30, 40 }; numbers.Contains(10); // Devolver true numbers.Contains(11); // Devolver false numbers.Contains(20); // Devolver true
La siguiente imagen ilustra la jerarquía de List<T>.
La siguiente tabla enumera las propiedades y métodos importantes de la clase List<T>:
Atributo | Uso |
---|---|
Items | Obtener o establecer el elemento en la posición especificada. |
Count | Devolver el número total de elementos existentes en la lista <T>. |
Método | Uso |
---|---|
Add | Agregar el elemento al final de la lista <T>. |
AddRange | Agregar los elementos del conjunto especificado al final de la lista <T>. |
BinarySearch | Buscar el elemento y devolver la posición del elemento. |
Clear | Eliminar todos los elementos de la lista <T>. |
Contains | Verificar si el elemento especificado existe en la lista <T>. |
Find | Buscar el primer elemento según la función predicativa especificada. |
Foreach | Recorrer la lista <T>. |
Insert | Insertar elementos en la posición especificada en List <T>. |
InsertRange | Insertar los elementos de otro conjunto en la posición especificada. |
Remove | Eliminar la primera aparición del elemento especificado. |
RemoveAt | Eliminar el elemento en la posición especificada. |
RemoveRange | Eliminar todos los elementos que coinciden con la función del predicado proporcionado. |
Sort | Ordenar todos los elementos. |
TrimExcess | Establecer la capacidad en el número real de elementos. |
TrueForAll | Determinar si cada elemento de List <T> coincide con la condición definida por el predicado especificado. |