代码之家  ›  专栏  ›  技术社区  ›  Fermin

将IQueryable<object>结果转换为逗号分隔的字符串

  •  5
  • Fermin  · 技术社区  · 14 年前

    我有一个LINQ查询,返回员工的所有缺勤情况。linq声明的第一部分获得了员工详细信息的基本列表,但我也返回了与缺勤相关的可查询的疾病列表。

    我想以某种方式将IQueryable列表转换为逗号分隔的疾病列表。

    DetailsOfSickness = (
      from t2 in Illnesses
      join ai1 in AbsenceIllnesses on t2.IllnessID equals ai1.IllnessID
      select new { Illness = ", " + t2.IllnessName })
    

    这会返回列表,但我想要的结果是:头痛、流感、抽筋。。。。等 有什么想法吗?

    2 回复  |  直到 14 年前
        1
  •  9
  •   Rubens Farias    14 年前

    你可以使用它 String.Join 创建逗号分隔的字符串。

    string DetailsOfSickness = 
        String.Join(", ", (
          from t2 in illnesses
          join ai1 in absenceIllnesses on t2.IllnessID equals ai1.IllnessID
          select t2.IllnessName).ToArray());
    
        2
  •  3
  •   kastermester    14 年前

    像这样的东西应该可以做到:

    DetailsOfSickness = String.Join(", ", (
      from t2 in Illnesses
      join ai1 in AbsenceIllnesses on t2.IllnessID equals ai1.IllnessID
      select t2.IllnessName).ToArray());