C# 使用Linq有条件地更改datatable列的值
我有一个数据表,其中一列有0/1个值。我需要使用Linq C将所有1更改为“是”,将所有0更改为“否”。使用Linq投影:C# 使用Linq有条件地更改datatable列的值,c#,linq,datatable,.net-3.5,C#,Linq,Datatable,.net 3.5,我有一个数据表,其中一列有0/1个值。我需要使用Linq C将所有1更改为“是”,将所有0更改为“否”。使用Linq投影: var results = from p in myDataTable.AsEnumerable() select new{ yesno = p.Field<int>("yesno") == 1 ? "Yes" : "No", otherField = p.Field<string>("otherField")}; 你所
var results = from p in myDataTable.AsEnumerable()
select new{ yesno = p.Field<int>("yesno") == 1 ? "Yes" : "No", otherField = p.Field<string>("otherField")};
你所说的数据表是什么意思? ADO.net DataTable对象还是数据库中的实际表
若它表示数据库中的实际表,那个么您使用什么来加载它,比如实体框架、Linq到SQL或存储过程?Linq是语言集成查询。它的目的是查询数据,而不是更改数据。因此,对于此任务,您应该使用简单循环:
foreach(DataRow row in table.Rows)
{
string value = row.Field<string>("foo") == "0" ? "No" : "Yes";
row.SetField("foo", value);
}
澄清问题应张贴在OP问题的评论中。