【问题标题】: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

【问题讨论】:

    标签: .net c#-4.0 tfs


    【解决方案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 =&gt; 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();
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-05-10
        • 2020-05-26
        • 1970-01-01
        • 1970-01-01
        • 2023-03-02
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多