2011-05-19 25 views
6

Tôi có một ArrayList để nhập bản ghi từ cơ sở dữ liệu. Có phương pháp nào để kiểm tra xem arrayList có chứa schname mà tôi muốn khớp với một danh sách khác là api không?Phương pháp kiểm tra danh sách mảng chứa chuỗi cụ thể

List<PrimaryClass> primaryList = new List<PrimaryClass>(e.Result); 
PrimaryClass sc = new PrimaryClass(); 
foreach (string item in str) 
{ 
    for (int a = 0; a <= e.Result.Count - 1; a++) 
    { 
     string schname = e.Result.ElementAt(a).PrimarySchool; 
     string tophonour = e.Result.ElementAt(a).TopHonour; 
     string cca = e.Result.ElementAt(a).Cca; 
     string topstudent = e.Result.ElementAt(a).TopStudent; 
     string topaggregate = e.Result.ElementAt(a).TopAggregate; 
     string topimage = e.Result.ElementAt(a).TopImage;   
     if (item.Contains(schname)) 
     { 
     } 
    } 
} 

Đây là những gì tôi đã đưa ra cho đến nay, vui lòng sửa mọi lỗi mà tôi có thể đã cam kết. Cảm ơn.

+4

Tôi hy vọng rằng bạn * thực sự * có 'Danh sách ' nếu đó là Silverlight - tôi nghĩ rằng không hỗ trợ các bộ sưu tập không đồng bộ. Vui lòng chỉnh sửa câu hỏi của bạn để làm rõ điều này, cùng với loại dữ liệu * thực tế * trong danh sách. –

+0

Bạn thực sự cần thêm thông tin và mẫu mã nếu bạn muốn câu trả lời có chất lượng. –

+0

Sử dụng bộ sưu tập chung (năm 2011 và một nửa!) Và nó sẽ giúp bạn rất nhiều – abatishchev

Trả lời

5

Hãy thử điều này

foreach(string row in arrayList){ 
    if(row.contains(searchString)){ 
     //put your code here. 
    } 
} 
2
// check all types 
var containsAnyMatch = arrayList.Cast<object>().Any(arg => arg.ToString() == searchText); 

// check strings only 
var containsStringMatch = arrayList.OfType<string>().Any(arg => arg == searchText); 
+0

Silvelight có hỗ trợ đầy đủ LINQ không? – abatishchev

+0

@abatishchev - có nó –

4

rồi, bây giờ bạn đã chỉ ra rằng nó thực sự là một List<T>, nó phải là dễ dàng với LINQ:

if (primaryList.Any(x => item.Contains(x.PrimarySchool)) 

Lưu ý rằng bạn thực sự cần xem xét sử dụng foreach thay vì vòng lặp for để lặp qua danh sách, trừ khi bạn chắc chắn cần chỉ mục ... và nếu bạn đang xử lý một danh sách, sử dụng trình chỉ mục đơn giản hơn gọi số ElementAt.

+0

nơi bạn sẽ đặt các schname trong này nếu thats lĩnh vực mà tôi muốn sử dụng – GJJ

+0

@GJJ: Theo như tôi có thể thấy, 'schname' không phải là một tài sản của' PrimaryClass' loại ... bạn đã khởi tạo biến * cục bộ * (không phải trường) 'schname' từ thuộc tính' PrimarySchool', đó là lý do tại sao tôi sử dụng nó. –

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