C#-将数据表排列成一个|&引用;分隔格式,每个记录的列数可能不同

C#-将数据表排列成一个|&引用;分隔格式,每个记录的列数可能不同,c#,sql,datatable,C#,Sql,Datatable,我已将SQL查询的结果集导入如下数据表: 是否有一种方法可以将一行写入文本文件,以便根据列中不同值的数量将代码列转换为这样排列的单行 1 |鲍勃|约翰逊| 1989年4月9日| 1 | 2 | 3 | 4 | 5 | 6使用LINQ GroupBy语句 就是 var lines = myDataTable.AsEnumerable().GroupBy(row => //grouping Selector new { id = row.id, , firstN

我已将SQL查询的结果集导入如下数据表:

是否有一种方法可以将一行写入文本文件,以便根据列中不同值的数量将代码列转换为这样排列的单行


1 |鲍勃|约翰逊| 1989年4月9日| 1 | 2 | 3 | 4 | 5 | 6

使用LINQ GroupBy语句

就是

var lines = myDataTable.AsEnumerable().GroupBy(row => //grouping Selector
       new { id = row.id, 
       , firstName = row.firstName
       , lastName = row.lastName
       , dob = row.dob
   }, (key, rows) => //result selector
       (key.id + "|" 
         + key.firstname + "|" 
         + key.firstname + "|" 
         + key.dob + "|" 
         + string.Join("|", rows.Select(codeRow => codeRow.code))
    )
);
如果使用非类型化数据表,请将row.foo替换为row[“foo”]

这将为您提供一个包含所需文件行的IEnumerable。把它写在文件里就行了

很明显,我还没有测试过,甚至还没有编译过,但这只是一个关于如何在Linq中进行分组的粗略描述