我有一个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
答案 0 :(得分:1)
我没有使用过TFS,但是尝试这样的事情:
var IDs = results.Select(w => w.Id.ToString());
tw.WriteLine(String.Join(",", IDs));
不需要循环。
答案 1 :(得分:0)
那是因为您要遍历所有元素,并且要为每个元素做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();