Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用Linq有条件地更改datatable列的值_C#_Linq_Datatable_.net 3.5 - Fatal编程技术网

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

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")}; 你所

我有一个数据表,其中一列有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")};

你所说的数据表是什么意思? 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问题的评论中。