82

DataTableのColumnsプロパティで単純なLINQクエリを実行しようとしています。

from c in myDataTable.Columns.AsQueryable()
    select c.ColumnName

しかし、私が得るものはこれです:

ソースタイプ「System.Linq.IQueryable」のクエリパターンの実装が見つかりませんでした。「選択」が見つかりません。範囲変数'c'のタイプを明示的に指定することを検討してください。

DataColumnCollectionをLINQとうまく連携させるにはどうすればよいですか?

4

3 に答える 3

138

どうですか:

var x = from c in dt.Columns.Cast<DataColumn>()
        select c.ColumnName;
于 2008-10-26T00:00:54.847 に答える
15

以下を使用することもできます。

var x = from DataColumn c in myDataTable.Columns
        select c.ColumnName

Enumerable.Cast<TResult> MethodMSDNの記事によると、Daveのコードと同じことを効果的に行います。「クエリ式では、明示的に型指定された反復変数はCast(IEnumerable)の呼び出しに変換されます」 。

于 2012-04-03T15:09:44.197 に答える