Matriz de listas em C#
Este tutorial discutirá os métodos para criar um array de listas em C#.
Matriz de listas com a notação List<T>[]
em C#
A notação List<T>[]
pode ser usada para declarar um array de listas do tipo T
em C#. Lembre-se de que isso apenas declarará um array de referências nulas. Ainda temos que inicializar cada lista em cada índice da List<T>[]
com a palavra-chave new
.
using System;
using System.Collections.Generic;
namespace array_of_lists {
class Program {
static void Main(string[] args) {
List<int>[] arrayList = new List<int>[3];
arrayList[0] = new List<int> { 1, 2, 3 };
arrayList[1] = new List<int> { 4, 5, 6 };
arrayList[2] = new List<int> { 7, 8, 9 };
foreach (var list in arrayList) {
foreach (var element in list) {
Console.WriteLine(element);
}
}
}
}
}
Resultado:
1 2 3 4 5 6 7 8 9
No código acima, declaramos e inicializamos o array de listas arrayList
contendo valores inteiros com a notação List<T>[]
e a palavra-chave new
em C#. A abordagem acima é adequada para pequenos arrays. Mas, se tivermos uma grande array, essa abordagem pode se tornar muito trabalhosa e exigir muito código. Essa abordagem só é adequada para matrizes com um comprimento menor.
Matriz de listas com o método LINQ em C#
O LINQ é usado para integrar a funcionalidade de consulta às estruturas de dados em C#. Podemos usar LINQ para declarar e inicializar um array de listas em C#.
using System;
using System.Collections.Generic;
namespace array_of_lists {
class Program {
static void Main(string[] args) {
List<int>[] arrayList = new List<int> [3].Select(item => new List<int> { 1, 2, 3 }).ToArray();
foreach (var list in arrayList) {
foreach (var element in list) {
Console.WriteLine(element);
}
}
}
}
}
Resultado:
1 2 3 1 2 3 1 2 3
No código acima, declaramos e inicializamos o array de listas arrayList
contendo valores inteiros com a notação List<T>[]
e a palavra-chave new
em C#. Esse método é menos trabalhoso do que o exemplo anterior para matrizes maiores, portanto, é mais adequado para matrizes com um comprimento maior.
Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.
LinkedIn