快速提问:
我正在通过迭代一个集合并使用字符串生成器来构建一个 JSON 字符串(是的,可能有更聪明的方法可以做到这一点,但调试 linq 让我很头疼)。当我构建一个数组时,我必须在每个项目之后加上一个逗号。
目前,我通过在 foreach 中处理每一行之前增加一个 int 来做到这一点,如果 int 与集合中的行数匹配,我不添加逗号。
StringBuilder bob = new StringBuilder();
int i = 0;
foreach(Item m in Rows){
i++;
bob.Append(string.Format("{{ foo: '{0}', bar: '{1}' }}", m.foo, m.bar));
bob.Append(i == Rows.Count() ? "" : ",")
}
我想知道是否有一些更聪明的方法来确定当前对象是否是集合中的最后一个?
更新:
回答。我只能选择一个真的很遗憾,因为有很多好的答案。特别是 Matthew Watson 的回答可能与我最初寻找的最接近 - 一种直接询问集合是否是最后一项的方法。但是,在查看所有其他答案时,我认为 String.Join 更好,用 Linq 替换 foreach 再次更好。感谢大家的帮助!