-1

私はDataTable次の構造を持っています

ATM Fault
---------    
A01 34256
A02 56346
A03 98946

パイプ区切り文字を次のように使用して、1 つの文字列変数に格納するにはどうすればよいですか

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 diffDataTableで変換する必要がないように、ステートメントのみを変更して同じことを達成するにはどうすればよいですか

4

3 に答える 3

1

LINQ と の使用String.Join:

var projectedList = dataTable
                       .AsEnumerable()
                       .Select(row => row["ATM"] + "|" + Convert.ToString(row["Fault"]));

string temp = String.Join(",", projectedList.ToArray());
于 2012-11-16T08:37:22.047 に答える
1

どうですか

string result = string.Join(",", 
                mydatatable.AsEnumerable()
                .Select(x => x("ATM").ToString() + "|" + x("Fault").ToString()));
于 2012-11-16T08:38:00.597 に答える
1

最初にATMFaultのペアをパイプで連結し、次にjoinコンマで連結できます。

IEnumerable<string> pairs = table
            .AsEnumerable()
            .Select(r => string.Format("{0}|{1}"
                 , r.Field<string>("ATM")
                 , r.Field<string>("Fault")));
string result = string.Join(",", pairs);
于 2012-11-16T08:42:12.317 に答える