DataTableオブジェクトを反復処理するときに、それぞれのDataRowオブジェクトを汎用文字列List内の項目と照合する必要があります。
List の Find メソッドをデリゲートと共に使用するブログ投稿を見つけましたが、その例には別のクラス (Person) がありますが、文字列オブジェクトのインスタンスを使用して次のようなことを試みています。
// My definition of the List object.
List<string> lstAccountNumbers = new List<string>();
...
// I populate the List via its Add method.
...
foreach (DataRow drCurrentRow in dtMyDataTable.Rows)
{
if (lstAccounts.Find(delegate(string sAccountNumber) { return sAccountNumber == drCurrentRow["AccountNumber"]; })
{
Found_DoSomething();
}
else
{
NotFound_DoSomethingElse();
}
}
ただし、この構文では、 ifブロックに対して「型 'string' を 'bool' に暗黙的に変換できません」というメッセージが表示されます。
誰かが私が間違っていることと、私がやろうとしていることを達成するための最善の方法を明確にしてもらえますか?