2011-11-16 11 views
5

Mam listę w języku C#. Biorąc pod uwagę dwie liczby - pozycję wyjściową i liczbę rekordów - w jaki sposób mogę wybrać środek listy? Jakiego rodzaju kolekcji powinienem używać?Wybierz część ze środka listy w C#

E.g. Pozycja wyjściowa = 10. Liczba zapisów = 20. Łączna liczba rekordów w liście = 50. Chcę wrócić obiekty w elementach 10 do 29.

Odpowiedz

11

Zakładając, że używasz .NET 3.5:

using System.Linq; 

list.Skip(10).Take(20) 
+0

@Jason: Joe ma rację. Policzyłem to na palcach, żeby być pewnym :) Off-by-one uderza ponownie –

+0

@Jason Zawiera wszystkie elementy końcowe, więc musi być 20, a także mówi 'Number of Records = 20' – V4Vendetta

0

użyć metody rozszerzenie LINQ skip() i take()

var myList = getList(); 
var middle = myList.Skip(10).Take(20); 
1

Coś list1.Skip(10).Take(20) powinny pracować dla Ciebie

0

można nas e

List<T> 

z metodami rozszerzenia LINQ wspomnianymi przez innych (z "using System.Linq").

Powiązane problemy