使用Linq有条件地更改datatable列的值

3

我有一个数据表,其中一列具有0/1值。我需要使用Linq(C#)将所有的1更改为“是”(Yes),将所有的0更改为“否”(No)。

3个回答

6
LINQ是语言集成查询的缩写,它的目的是查询数据而非改变数据。所以,在这种情况下应该使用简单循环:
foreach(DataRow row in table.Rows)
{
   string value = row.Field<string>("foo") == "0" ? "No" : "Yes";
   row.SetField("foo", value);
}

2

使用LINQ投影:

var results = from p in myDataTable.AsEnumerable()
              select new{ yesno = p.Field<int>("yesno") == 1 ? "Yes" : "No", otherField = p.Field<string>("otherField")};

-2
你所说的“数据表”是指什么? 是ADO .net DataTable对象还是实际数据库中的表?
如果它指的是实际数据库中的表,那么你是使用什么来加载它的,例如Entity Framework还是Linq to SQL还是存储过程?

1
请在原帖问题下方的评论区提出澄清问题。 - GoldBishop

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接