DataTable から List を設定するには、通常、次のようなステートメントを記述します。
List<Foo> foos = dt.AsEnumerable().Select(dr =>
new Foo { Bar = Convert.ToIn32(dr["Bar"]),
Baz = Convert.ToDecimal(dr["Baz"]) }).ToList();
次の疑似コードのように、DataTable が 1 行だけを返すことがわかっている場合、単一のオブジェクトを初期化する同様のステートメントをどのように記述すればよいでしょうか。
Foo foo = dt.Rows[0].Select(dr =>
new Foo { Bar = Convert.ToIn32(dr["Bar"]),
Baz = Convert.ToDecimal(dr["Baz"]) });
ステートメントを 1 つだけ書きたいのですが、(可能であれば) 次のような 2 行は避けたいです。
DataRow dr = dt.Rows[0];
Foo foo = new Foo { Bar = Convert.ToIn32(dr["Bar"]),
Baz = Convert.ToDecimal(dr["Baz"]) });
Where
、Select
、First
の組み合わせを試してみSingle
ましたが、頭に釘が打たれません!
いつものようにどんな答えでも大歓迎です。