C# 使用分隔符将数据表的两列存储在一个字符串中
我有一个具有以下结构的C# 使用分隔符将数据表的两列存储在一个字符串中,c#,C#,我有一个具有以下结构的DataTable ATM Fault --------- A01 34256 A02 56346 A03 98946 如何使用管道分隔符将其存储在一个字符串变量中 string temp="A01|34256,A02|56346,A03|98946"; 我正在将我的Linq转换为DataTable。但我似乎可以在Linq本身中实现这一点 var diff = dtOpenEvent.AsEnumerable().Except(dtOutputTemp.AsEn
DataTable
ATM Fault
---------
A01 34256
A02 56346
A03 98946
如何使用管道分隔符将其存储在一个字符串变量中
string temp="A01|34256,A02|56346,A03|98946";
我正在将我的Linq转换为DataTable。但我似乎可以在Linq本身中实现这一点
var diff = dtOpenEvent.AsEnumerable().Except(dtOutputTemp.AsEnumerable(), DataRowComparer.Default);
DataTable di = diff.CopyToDataTable();//This is the Datatable which i want to Convert
如何通过仅修改
var diff
语句来实现相同的功能,从而无需使用LINQ和字符串在DataTable中转换它。Join
:
var projectedList = dataTable
.AsEnumerable()
.Select(row => row["ATM"] + "|" + Convert.ToString(row["Fault"]));
string temp = String.Join(",", projectedList.ToArray());
怎么样
string result = string.Join(",",
mydatatable.AsEnumerable()
.Select(x => x("ATM").ToString() + "|" + x("Fault").ToString()));
您可以先用管道将
ATM
和Fault
对连接起来,然后用逗号连接它们:
IEnumerable<string> pairs = table
.AsEnumerable()
.Select(r => string.Format("{0}|{1}"
, r.Field<string>("ATM")
, r.Field<string>("Fault")));
string result = string.Join(",", pairs);
IEnumerable pairs=表
.可计算的()
.Select(r=>string.Format(“{0}{1}”)
,r.Field(“ATM”)
,r.Field(“故障”);
字符串结果=string.Join(“,”对);
用一个字符串或一行填写表格?如何从数据库中获取数据?用一行填写表格String@Grrbrr404这肯定无关紧要?检查问题编辑我能通过修改“var diff”语句实现同样的效果吗?@SagarDumbre:我又读了一遍文档。它似乎是通过值进行比较的,因此除了之外的可能会起作用。不管怎样,你到底想要什么还不清楚。否则我会更新我的答案。