Tôi có một số List<int>
và cần tính số lượng phần tử (giá trị < 5) - làm cách nào để thực hiện việc này?Đếm các phần tử có int <5 trong Danh sách <T>
Trả lời
List<int> list = ...
int count = list.Where(x => x < 5).Count();
Something như thế này:
var count = myList.Where(x => x < 5).Count();
Hãy thử điều này:
int c = myList.Where(x=>x<5).Count();
Các tùy chọn ngắn nhất:
myList.Count(v => v < 5);
Điều này cũng sẽ làm:
myList.Where(v => v < 5).Count();
+1 Tôi thực sự thực sự thích phương pháp sau ở đây vì chúng có hiệu suất tương đương khá khôn ngoan và tôi nghĩ nó rõ ràng hơn một chút về những gì đang xảy ra ở đây. – ForbesLindesay
Không giống như câu trả lời khác, điều này làm nó trong một cuộc gọi phương pháp sử dụng quá tải này của countextension method:
using System.Linq;
...
var count = list.Count(x => x < 5);
Lưu ý rằng kể từ khi phương pháp khuyến nông LINQ được định nghĩa trong namespace System.Linq
bạn có thể cần thêm một tuyên bố sử dụng và tham chiếu đến System.Core
nếu nó chưa có ở đó (cần phải có).
Xem thêm: Extension methods defined by the Enumerable
class.
+1 chỉ một không có mệnh đề không liên quan ở đâu. –
+1 vì bạn đã sớm hơn một phút so với câu trả lời được chấp nhận của abatischchev;) – Abel
@Daniel: Chỉ một, vâng :)) – abatishchev
Thử -
var test = new List<int>();
test.Add(1);
test.Add(6);
var result = test.Count(i => i < 5);
int count = list.Count(i => i < 5);
list.Where(x => x < 5).Count()
int c = 0;
for (i = 0; i > list.Count; i++)
{
// The "for" is check all elements that in list.
if (list[i] < 5)
{
c = c + 1; // If the element is smaller than 5
}
}
+1 Là câu trả lời duy nhất không sử dụng LINQ. Mặc dù tôi muốn sử dụng "foreach" thay vì "for". Thậm chí tốt hơn sẽ là một phương pháp tổng quát có một biến vị ngữ như là tham số và sau đó có thể được gọi bằng cách sử dụng ký pháp lambda. – RenniePet
- 1. Danh sách <int> trong C#
- 2. Tổng số lượng int trong Danh sách <int>
- 3. Danh sách <int> khởi tạo trong C# 3.5
- 4. Sắp xếp một Dictionary <int, Danh sách <int>> bằng phím + giá trị bên trong danh sách
- 5. lưu trữ một danh sách <int> trong ViewState
- 6. C# Danh sách chuyển đổi <int> thành Danh sách <double>
- 7. chuyển đổi danh sách <int> thành danh sách <long>
- 8. Kiểm tra int hoặc danh sách <int>
- 9. đếm các phần tử mới trong danh sách vector
- 10. danh sách <int> chuyển đổi sang int []
- 11. Làm thế nào để chuyển đổi System.Linq.Enumerable.WhereListIterator <int> thành Danh sách <int>?
- 12. Python: Đếm tần số của các phần tử trong danh sách các danh sách
- 13. Không thể (hoặc có thể) vào Danh sách <int> .Cast <Enum>()?
- 14. Danh sách hoán đổi <> các phần tử có C# sử dụng LINQ
- 15. Gọi hàm int() trên mỗi phần tử danh sách?
- 16. Danh sách Fill <int> sử dụng LINQ
- 17. So sánh hai Danh sách <int>
- 18. C# byte [] trở lại vào danh sách <int>
- 19. 'Chuyển đổi' từ điển <string,int> vào Danh sách <object>
- 20. Thay đổi giá trị phần tử trong Danh sách <T> .ForEach ForEach phương pháp
- 21. Làm cách nào để tìm một phần tử cụ thể trong Danh sách <T>?
- 22. Danh sách <> Nhận phần tử tiếp theo hoặc nhận được
- 23. Tại sao lồng phần tử <svg> bên trong phần tử <svg> khác?
- 24. Chuyển đổi Danh sách <MyObject> thành Từ điển <obj.string, Danh sách <obj.ID>>
- 25. C# Mở rộng Flat Danh sách <T> để Dictionary <T, ICollection <int>>
- 26. Danh sách Hiệu suất SqlDataReader <string[]> hoặc Danh sách <object[]>
- 27. Phương pháp này có nhanh hơn trong Danh sách <T> .Xóa (T) hoặc Danh sách <T> .RemoveAt (int)?
- 28. Cách thêm Danh sách <> vào Danh sách <> trong asp.net
- 29. C# vấn đề sai: Gán Danh sách <Derived> như Danh sách <Base>
- 30. ++ nguyên tử cho std :: nguyên tử <int>
Yeesh! Ai đó đã dành một loạt thời gian để downvoting 4 câu trả lời dưới đây. –
@ p.campbell - Ừ, bất cứ ai, người ta đã phạm tội với 'Where'. – Oded
có thể trùng lặp của [Nhận số mục của danh sách <> bằng Linq] (http://stackoverflow.com/questions/3853010/get-item-count-of-a-list-using-linq) –