2013-08-07 17 views
6

Wie kann ich die 30 wichtigsten Elemente in einer Liste in C# abrufen und sie zu einer neuen Liste hinzufügen?Wie erhalte ich die ersten 30 Einträge in einer Liste?

Ich habe eine Liste von über 1000 Artikel und wollen neue Listen erstellen, von etwa 30 Stück je und dann binden irgendwie die Listen listbox

Antwort

18

Verwenden LINQTake() Methode:

var top30list = source.Take(30).ToList(); 

Fügen Sie using System.Linq oben in der Datei hinzu, damit es funktioniert.

4
newList.AddRange(list.Take(30)); 
2

Verwenden Sie orderby mit Spaltenname nach der Verwendung als .Take(30) wird die 30 Elemente aus der Liste auswählen.

4

Gebrauch Nehmen Sie (30)

public List<string> ReturnList(List<string> mylist,int page) 
{ 
    return mylist.Skip(30 * (page - 1)).Take(30) 
} 
+1

Nützlich als impliziert Anforderung ist die Top-30, gefolgt von der bekommen nächste 30 usw. In diesem Szenario ist die liste.Skip() erforderliche Information. – Morvael

7

jeder sagt Linq so i Beispiel ohne Linq zeigen werden:

List<object> newList = new List<object>(); 

for(int i=0 ; i < 30 ; i++) 
    newList.Add(oldList[i]); 
Verwandte Themen