1

DataTableLINQ を使用して別の値で検索しようとしていますDataTableが、これまでのところ進歩がありません...どうすればよいですか?

以下の例ではtable、検索する とPlTable、列が 1 つしかない があります。からすべての行を取得する必要がありますtable。このフィールドには、の行にフィールドのName文字列が少なくとも 1 つ含まれています。NamePlTable

Dim ePlTable As IEnumerable(Of DataRow) = PlTable.AsEnumerable()

Dim found = From row In table.AsEnumerable
            Where row(0).Contains(ePlTable)
            Select row
Return found.CopyToDataTable.Rows

きっとうまくいかない議論として.Contains望むようにString

4

1 に答える 1

1

.Contains は文字列を引数として必要とするため、確かに機能しません。

それがまさに問題なので、厳密に型指定されたField拡張メソッドを使用して正しい型にキャストしEnumerable.Any、少なくとも 1 つの文字列が this に含まれているかどうかを調べますName

Dim strings = From row In PlTable Select row.Field(Of String)(0)
Dim found = From row In table.AsEnumerable
            Where strings.Any(Function(s) row.Field(Of String)("Name").Contains(s))
            Select row
Return found.CopyToDataTable()
于 2013-02-21T15:17:09.117 に答える