【发布时间】:2020-02-01 10:56:34
【问题描述】:
我有这个代码:
foreach (var node in nodes)
{
result += node.InnerText;
}
InnerText 只是 1-2 个字符,从不包含 # 符号。节点中节点的值可以有一个或多个。
我怎样才能分隔这些,例如,如果这些是节点的值:
"ab" and "cd"
结果将是ab#cd。
我知道我可以将# 添加到值中,但是最后一个字符呢?如果我只是简单地添加了#,那么我会得到ab#cd#,这不是我想要的。
【问题讨论】:
-
您有几个选择,1) 检查您是否在第一个项目上,如果不是,则在添加项目之前添加分隔符 ,或者 2) 使用
string.Join("#", collection)但是你需要准备一个单独元素的集合 -
String.Join,取一个分隔符和一个可枚举的字符串。
result = String.join("#", nodes.Select(x=> x.InnerText))
标签: c# string foreach concatenation delimiter