Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/301.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/0/azure/13.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# 使用分隔符将数据表的两列存储在一个字符串中_C# - Fatal编程技术网

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:我又读了一遍文档。它似乎是通过值进行比较的,因此除了之外的
可能会起作用。不管怎样,你到底想要什么还不清楚。否则我会更新我的答案。