2013-08-07 36 views
6

làm cách nào tôi có thể lấy 30 mục hàng đầu trong danh sách trong C# và thêm nó vào danh sách mới?cách lấy 30 mục hàng đầu trong danh sách

tôi có một danh sách khoảng 1000 mặt hàng, và muốn tạo danh sách mới, khoảng 30 mặt hàng từng, và sau đó bằng cách nào đó ràng buộc danh sách để listbox

Trả lời

18

Sử dụng LINQTake() phương pháp:

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

Thêm using System.Linq ở đầu tệp của bạn để làm cho tệp hoạt động.

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

sử dụng orderby với tên cột sau đó sử dụng làm .Take(30) sẽ chọn 30 mục từ danh sách.

4

sử dụng take (30)

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

hữu ích đòi hỏi như là ngụ ý là để có được top 30, tiếp theo là tiếp theo 30, vv Trong kịch bản đó, list.Skip() là thông tin bắt buộc. – Morvael

7

tất cả mọi người đang nói LINQ vì vậy tôi sẽ chỉ cho ví dụ mà không LINQ:

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

for(int i=0 ; i < 30 ; i++) 
    newList.Add(oldList[i]); 
Các vấn đề liên quan