2011-11-16 14 views
5

Ho una lista in C#. Dati due numeri: la posizione di partenza e il numero di record: come posso selezionare dal centro di una lista? Che tipo di collezione dovrei usare?Selezionare una sezione al centro di un elenco in C#

E.g. Posizione di partenza = 10. Numero di record = 20. Numero totale di record nella lista = 50. Voglio tornare gli oggetti in elementi da 10 a 29.

risposta

11

si Supponendo che sta utilizzando .NET 3.5:

using System.Linq; 

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

@Jason: Joe è corretto. L'ho contato tra le dita per essere sicuro :) Off-by-one colpisce ancora –

+0

@Jason La sua inclusione degli elementi finali deve essere 20 e dice anche "Numero di record = 20". – V4Vendetta

0

utilizzare i metodi di estensione LINQ skip() e take()

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

Qualcosa di simile list1.Skip(10).Take(20) dovrebbe funzionare per voi

0

Puoi noi e

List<T> 

con i metodi di estensione LINQ citati da altri (con "utilizzando System.Linq").

Problemi correlati