2010-09-10 25 views

Trả lời

32

NET có một số hoạt động thiết lập mà làm việc trên enumerables, vì vậy bạn có thể mất the set intersection để tìm các thành viên trong cả hai danh sách. Sử dụng Any() để tìm hiểu xem chuỗi kết quả có bất kỳ mục nhập nào không.

Ví dụ:

if(list1.Intersect(list2).Any()) 
2

Nếu bạn có thể sử dụng LINQ thì if(list1.Intersect(list2).Count > 0) {...collision...}.

3

Bạn luôn có thể sử dụng LINQ

if (list1.Intersect(list2).Count() > 0) ... 
+3

Hãy ghi nhớ rằng 'Count() 'có thể cần phải liệt kê toàn bộ chuỗi. Sử dụng 'Any()' để thay thế. –

+1

Chỉ có điều đó không có tác dụng sau 'Intersect''ing. – Dykam

Các vấn đề liên quan