2

動的に追加された強力な型、例のように静的な LINQ でいくつかの参照を見つけようとします。

        var rowColl = _data.AsEnumerable();
        var json = (from r in rowColl
                    select new
                    {
                        name = r.Field<string>("name"),
                        id = r.Field<int>("id"),
                    }).ToList();

情報がDataTable「_data」で利用可能であるため、ランタイムに「name」と「id」を動的に追加できるかどうかに興味がありますが、これには簡単な解決策があると思いますが、これに関する参照が見つかりません

4

1 に答える 1

0

可能であれば、タイプとして「var」を使用しないことをお勧めします。rowColl は IEnumerable<DataRow> 型のようです。それが本当なら、DataRow クラスで使用できるものを確認します ( msdn のドキュメントを参照)。

rowColl が実際には IEnumerable<DataRow> であると仮定すると、列が常に同じ順序になる場合は、select ステートメントで r[0] と r[1] のようなことを行うことができます。

var json = (from r in rowColl
            select new
            {
                name = r[0], // Where 0 is the index of the "name" column
                id = r[1],
            }).ToList();

型の安全性について不平を言う場合は、 int.Parse() を使用して文字列を int にキャストし、代わりに列に .ToString() 拡張子を使用できます。

于 2013-10-08T17:50:59.270 に答える