Peupler une liste d’entiers en .NET : Un guide simple

Si vous vous êtes déjà retrouvé à avoir besoin d’une liste d’entiers allant de 1 à un nombre spécifique x déterminé par l’utilisateur, vous avez peut-être eu recours à une boucle for traditionnelle pour peupler cette liste. La méthode standard semble encombrante et répétitive, incitant beaucoup à chercher une solution plus propre et efficace. Heureusement, le framework .NET nous fournit une méthode sophistiquée pour y parvenir sans effort !

Le dilemme : Utiliser une boucle For

Considérons l’approche traditionnelle pour générer une liste d’entiers. L’exemple suivant illustre l’utilisation d’une boucle for en C# :

List<int> iList = new List<int>();
for (int i = 1; i <= x; i++)
{
    iList.Add(i);
}

Bien que ce code soit fonctionnel, il est loin d’être élégant. Il nécessite des lignes de code supplémentaires, et si vous travaillez avec de plus grands ensembles de données ou plusieurs listes, cette méthode peut rapidement devenir encombrante.

La solution élégante : Enumerable.Range

À partir de .NET 3.5, il existe un moyen beaucoup plus simple d’obtenir le même résultat en utilisant Enumerable.Range. Cette méthode génère une séquence de nombres entiers dans une plage spécifiée, éliminant ainsi le besoin d’itérer manuellement chaque nombre.

Qu’est-ce que Enumerable.Range ?

Enumerable.Range fait partie de la bibliothèque LINQ (Language Integrated Query) qui vous permet de travailler avec des collections de manière pratique. Voici une explication simple de son fonctionnement :

  • Génère une séquence d’entiers : Vous définissez deux paramètres : l’entier de départ et combien de nombres doivent être générés.
  • Simplicité : Cela réduit le nombre de lignes de code à écrire, ce qui aboutit à un code plus propre et plus facile à gérer.

Comment utiliser Enumerable.Range

Pour utiliser Enumerable.Range, suivez ce format de code simple :

using System;
using System.Collections.Generic;
using System.Linq;

class Program
{
    static void Main()
    {
        int x = 10; // Limite définie par l'utilisateur
        List<int> iList = Enumerable.Range(1, x).ToList();

        Console.WriteLine(string.Join(", ", iList));
    }
}

Explication du code

  1. Importer les espaces de noms nécessaires : Assurez-vous d’inclure System, System.Collections.Generic et System.Linq.

  2. Définir la limite : Définissez x pour déterminer la taille de votre liste (l’entier le plus élevé).

  3. Générer la liste : Utilisez Enumerable.Range(1, x) pour créer une plage allant de 1 à x. La méthode ToList() convertit la séquence générée en un format de liste.

  4. Afficher la liste : La dernière ligne imprime la liste des entiers dans un format lisible.

Conclusion

Passer d’une boucle for traditionnelle à la plus élégante Enumerable.Range peut rationaliser vos efforts de programmation lorsque vous travaillez avec des listes en .NET. Non seulement cela réduit la quantité de code à écrire, mais cela améliore également la lisibilité et la maintenabilité.

En utilisant Enumerable.Range, vous pouvez rapidement générer une liste d’entiers avec un minimum d’effort, vous permettant de vous concentrer davantage sur la construction de fonctionnalités plutôt que sur le code standard. Donc, la prochaine fois que vous aurez besoin de créer une liste d’entiers, rappelez-vous de cette méthode intégrée puissante !