L'Auto-incrémentation d'une liste générique à l'aide de LINQ en C#

Est-il un bon moyen de fournir une "auto-increment" style de colonne d'index (à partir de 1..x) lors de la projection des éléments à l'aide de LINQ?

Comme un exemple de base, je suis à la recherche de la colonne d'index ci-dessous pour aller de 1 au nombre d'éléments dans la liste.

var items = from s1 in list
    select new BrowsingSessionItemModel { Id = s1.Id, Index = 0 };

Parcourant la liste serait la solution la plus simple, mais je me demandais si il y avait une meilleure façon de le faire?

En général, vous pouvez générer une nouvelle incrémentation énumérable à l'aide de l'Énumération.Range(1, numOfItems), mais dans votre cas, Sélectionnez à l'aide de la surcharge est la meilleure option pour vos besoins.

OriginalL'auteur Nick | 2011-10-14