要从 DataTable 填充列表,我通常会编写如下语句:
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"]) });
我只想写一个语句,并希望避免(如果可能的话)这样的 2 行:
DataRow dr = dt.Rows[0];
Foo foo = new Foo { Bar = Convert.ToIn32(dr["Bar"]),
Baz = Convert.ToDecimal(dr["Baz"]) });
我尝试过 , , 的组合,但Where
不能一针见血!Select
First
Single
一如既往的任何答案表示赞赏。