0

我试图做这样的事情

 var names_en = dtTmp.AsEnumerable();
 var names = names_en.Where(a => a["ID"] == "1");
 string name = names["Name"].ToString();

我的目标是找到等于的行ID1保留Nameas 字符串

我知道我有ID列我知道我有一行在ID==1调试器中看到它。但names让该枚举不产生任何结果。

还有更好的方法吗?

4

2 回答 2

1

如果您使用DataRowExtension.Field强类型的方法会更好。还要确保你ID是字符串类型,否则你会得到一个异常。您可以相应地指定类型。

string name = dtTmp.AsEnumerable()
                .FirstOrDefault(r => r.Field<string>("ID") == "1")
                .Field<string>("Name");
于 2013-01-01T07:20:09.907 回答
0
var names = names_en.Where(a => a["ID"] == "1"); 

返回您必须获得第一条记录的结果列表

于 2013-05-22T15:21:55.677 回答