2011-05-19 9 views
6

データベースからレコードをインポートするArrayListがあります。 配列リストにschnameが含まれていて、これがapiである別のリストと一致するかどうかを調べる方法はありますか?特定の文字列を含む配列リストをチェックするメソッド

これは私が今までに思い付いたことであり、私がコミットしたかもしれないエラーを親切に修正したものです。ありがとう。

+4

Silverlightの場合は実際には* List *を持っていると思いますが、これは非永続的なコレクションをサポートしていないと思います。リスト内の*実際の*タイプのデータと共に、これを明確にするために質問を編集してください。 –

+0

品質の回答が必要な場合は、さらに情報とコードサンプルを追加する必要があります。 –

+0

ジェネリックコレクションを使用すると(それは2011年と今半分です)、それはあなたに大いに役立ちます – abatishchev

答えて

5

それはLINQで簡単にする必要があり、今ではそれが実際にList<T>だことを示してきた、この

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はそのようなLINQを完全にサポートしていますか? – abatishchev

+0

@abatishchev - はいそれはあります –

4

オーケーを試してみてください:あなたが本当に使用することを検討すべきである

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

注意foreachの代わりにがインデックスを必要としていない限り、リストを反復するforループの代わりに...そしてあなたがインデクサーを使用するリストは、ElementAtを呼び出すより簡単です。

+0

私は使用したいフィールドがあれば、これにschnameを入れます – GJJ

+0

@GJJ:私が見る限り、 'schname'は' PrimaryClass'のプロパティではありません...あなたは 'PrimarySchool'プロパティからローカル変数*(フィールドではない)' schname'を初期化していました。それが私が使った理由です。 –

関連する問題