Jak mogę uzyskać 30 najlepszych pozycji z listy w C# i dodać ją do nowej listy?jak zdobyć 30 najlepszych pozycji na liście
Mam listę około 1000 elementów, a chcą tworzyć nowe listy, z około 30 elementów każda, a potem jakoś wiązać list do listbox
Jak mogę uzyskać 30 najlepszych pozycji z listy w C# i dodać ją do nowej listy?jak zdobyć 30 najlepszych pozycji na liście
Mam listę około 1000 elementów, a chcą tworzyć nowe listy, z około 30 elementów każda, a potem jakoś wiązać list do listbox
Zastosowanie LINQ
Take()
metoda:
var top30list = source.Take(30).ToList();
Dodaj using System.Linq
u góry pliku, aby działało.
newList.AddRange(list.Take(30));
użyć orderby
z nazwą kolumny po tym użyciu jako .Take(30)
wybierze 30 pozycji z listy.
UŻYCIA (30)
public List<string> ReturnList(List<string> mylist,int page)
{
return mylist.Skip(30 * (page - 1)).Take(30)
}
wszyscy mówią LINQ więc pokażę przykład bez LINQ:
List<object> newList = new List<object>();
for(int i=0 ; i < 30 ; i++)
newList.Add(oldList[i]);
Użyteczne jako implikuje wymogiem jest, aby uzyskać top 30, a następnie przez następne 30 itd. W tym scenariuszu list.Skip() jest wymaganą informacją. – Morvael