1
私はいくつかのプロパティを持つクラスR
を持っています。タイプ 'System.Data.EnumerableRowCollection <System.Data.DataRow>'をgeneric.listに変換できません<T>
同様に、私は私が上から2つの異なるDataTables
を作成しようとしていますR
クラスのプロパティとまったく同じ列を持つDataTable
dt
は、のいずれかの列の条件に基づいてDataTable
dt
を言っていdt
。
そして、これら2つのオブジェクトをList
のR
オブジェクトに変換します。
List<R> Sheet1 = dt.AsEnumerable()
.Where(row => Convert.ToDecimal(row["SomeDecimalColumn"]) <= Convert.ToDecimal(80));
List<R> Sheet2 = dt.AsEnumerable()
.Where(row => Convert.ToDecimal(row["SomeDecimalColumn"]) > Convert.ToDecimal(80));
しかし、それは誤りスロー:
は、これは私が今進行にしようとしています方法です
List<R> Sheet1 = (List<R>)dt.AsEnumerable()
.Where(row => Convert.ToDecimal(row["SomeDecimalColumn"]) <= Convert.ToDecimal(80));
List<R> Sheet2 = (List<R>)dt.AsEnumerable()
.Where(row => Convert.ToDecimal(row["SomeDecimalColumn"]) > Convert.ToDecimal(80));
:
Cannot convert type 'System.Data.EnumerableRowCollection' to generic.list
私は鋳造のすべての種類をやってみましたがが、役に立たないと
List<R> Sheet1 = (List<R>)dt.AsEnumerable()
.Where(row => Convert.ToDecimal(row["SomeDecimalColumn"]) <= Convert.ToDecimal(80))
.ToList();
List<R> Sheet2 = (List<R>)dt.AsEnumerable()
.Where(row => Convert.ToDecimal(row["SomeDecimalColumn"]) > Convert.ToDecimal(80))
.ToList();
'R'がここには何? 'st.Select'メソッドを使うか、リストの代わりに' var'を使ってみてください –
'R'とは何ですか? 'System.Data.Row'のサブクラスでなければ、既存の' System.Data.Row'から新しい 'R'を初期化するコードを書く必要があります。キャスティングは魔法ではありません。 AをBにキャストするとき、Aは* be * a Bでなければならないか、A *を* Bに変換するコードがなければなりません。 –
本当に 'R'のようなクラスがありますか?短い名前は利用できませんでしたか?私はあなたのファーストクラスは 'A'だと思います。 –