Existe-t-il un équivalent .NET de List.subList()
de Java qui fonctionne sur IList
?
en utilisant LINQ
list.Skip(fromRange).Take(toRange - fromRange)
Pour la List
générique List
, il s’agit de la GetRange(int, int)
.
Edit: notez qu’il s’agit d’une copie superficielle et non d’une “vue” de l’original. Je ne pense pas que C # offre cette fonctionnalité exacte.
Edit2: comme le souligne Kamarey, vous pouvez avoir une vue en lecture seule:
List integers = new List () { 5, 6, 7, 8, 9, 10, 11, 12 }; IEnumerable view = integers.Skip(2).Take(3); integers[3] = 42; foreach (int i in view ) // output
Ce qui précède imprimera 7, 42, 9.
GetRange
est votre réponse