You can create an extension method to popular your collections. Create a static class with a static method to become an extension method:
public static class Extensions
{
/// <summary>
/// Método para popular a coleção de dados
/// </summary>
/// <typeparam name="TypeValue">Tipo de dados do valor que vai ser preenchido</typeparam>
/// <param name="collection">Coleção de dados que será preenchida</param>
/// <param name="value">Valor que vai ser inserido</param>
/// <param name="indexSize">Quantos itens da coleção serão preenchidos</param>
public static void PopularColecao<TypeValue>(this IList collection, TypeValue value, int indexSize)
{
if (collection.IsFixedSize)
{
for (int i = 0; i < indexSize; i++)
collection[i] = value;
}
else
{
for (int i = 0; i < indexSize; i++)
collection.Add(value);
}
}
}
To use the extension method, add the namespace of your class Extensions
us using
and use the same way uses Linq functions:
List<int> lista = new List<int>();
ArrayList arrayList = new ArrayList();
int[] array = new int[10];
//A lista será populada com o valor 5 para 10 posições
lista.PopularColecao(5, 10);
//O array list será populado com o valor 10 para 10 posições
arrayList.PopularColecao(10, 10);
//O array será populado com o valor 8 para 2 posições
array.PopularColecao(8, 2);
I think without a
for
will have little chance to initialize aarray
that big manually...– João Martins