我试图做这样的事情
var names_en = dtTmp.AsEnumerable();
var names = names_en.Where(a => a["ID"] == "1");
string name = names["Name"].ToString();
我的目标是找到等于的行ID
并1
保留Name
as 字符串
我知道我有ID
列我知道我有一行在ID==1
调试器中看到它。但names
让该枚举不产生任何结果。
还有更好的方法吗?
如果您使用DataRowExtension.Field
强类型的方法会更好。还要确保你ID
是字符串类型,否则你会得到一个异常。您可以相应地指定类型。
string name = dtTmp.AsEnumerable()
.FirstOrDefault(r => r.Field<string>("ID") == "1")
.Field<string>("Name");
var names = names_en.Where(a => a["ID"] == "1");
返回您必须获得第一条记录的结果列表