基本上我使用字符串。像下面这样连接。
string Combinestr = string.Join("", newListing+"n"+"Total Found");
但是,我不想在newListing中添加最后一行。newListing是一个HashSet,这种情况下我需要在连接所有字符串后做一个trimend吗?如果是这样,我该如何对整个字符串"nTotal Found"进行裁剪? 您希望该字符串出现在HashSet中的项之间。
这就是第一个参数的作用:
string Combinestr = string.Join("nTotal Found", newListing);
首先是字符串。加入毫无意义。您已经使用+操作符连接了字符串。你应该这样写……
string Combinestr = string.Join("", newListing, "n", "Total Found");
然而,我个人会做....
string Conbinestr = newListing.ToString() + "nTotal Found";
然后把它做完。
如果你不希望最后一项已经设置,那么我会循环哈希集并使用字符串构建器…
System.Text.StringBuilder sb = new System.Text.StringBuilder();
foreach(var hash in newListing.Take(newListing.Count - 1)){
sb.Append(hash.ToString());
}
sb.Append("nTotal Found");
string Conbinestr = sb.ToString();
…总的来说,你想做的事情似乎有些不太对
实际上我通常把'n'放在前面。在这种情况下,您只需要确保第一项没有被追加:
if (!String.IsNullOrEmpty(newListing))
{
newListing += "n";
}
newListing += "Total Found";
@SLaks的替代方案:
int lastIndex = Combinestr.LastIndexOf("n");
if (lastIndex > -1)
{
Combinestr = Combinestr.Substring(0, lastIndex);
}