在文本文件中使用逗号分隔值打印输出
Posted
技术标签:
【中文标题】在文本文件中使用逗号分隔值打印输出【英文标题】:Printing output with comma separated values in a text file 【发布时间】:2019-09-09 16:07:53 【问题描述】:我有一个 C# 代码来执行 TFS 共享查询并循环遍历结果并将结果打印到文本文件中。
我的代码正在从 TFS 共享查询中取回结果并返回结果,我想用逗号分隔的单行打印缺陷 ID。但我当前的代码是在每一行打印每个 Id。
Dictionary<string, string> variables = new Dictionary<string, string>();
variables.Add("project", tfsQuery.Project.Name);
var results = witStore.Query(tfsQuery.QueryText, variables);
foreach (WorkItem item in results)
var id = item.Id.ToString();
tw.WriteLine(String.Join(",", id));
tw.Close();
例如:如果我的结果计数是 5
预期: 12345,23432,54654,23432,546542
实际:
12345
23432
54654
23432
546542
【问题讨论】:
【参考方案1】:我没有用过 TFS,但试试这样的:
var IDs = results.Select(w => w.Id.ToString());
tw.WriteLine(String.Join(",", IDs));
不需要循环。
【讨论】:
【参考方案2】:那是因为您正在寻找所有元素,并且对于您正在执行的每个元素tw.WriteLine()
。您在这里有两个选择,要么执行 tw.WriteLine(String.Join(",", results.Select(w => w.Id.ToString()))
,要么您可以使用 foreach 但执行 tw.Write(),例如:
bool firstIteration = true;
foreach (WorkItem item in results)
if(!firstIteration)
tw.WriteLine(",");
firstItreration = false;
var id = item.Id.ToString();
tw.WriteLine(item.ToString());
tw.Close();
【讨论】:
以上是关于在文本文件中使用逗号分隔值打印输出的主要内容,如果未能解决你的问题,请参考以下文章