C#如何附加string.join而不是追加最后一个字符串

时间:2011-07-18 15:03:20

标签: c#

基本上我正在使用如下的string.join。

string Combinestr = string.Join("", newListing+"\n"+"Total Found");

但是,我不想在newListing中附加最后一行。 newListing是一个HashSet,这是我加入所有字符串之后需要做一个trimend的情况吗?如果是这样,我将如何对整个字符串“\ nTotal Found”进行修改?

4 个答案:

答案 0 :(得分:8)

您希望该字符串出现在HashSet中的项目之间。

这就是第一个参数:

string Combinestr = string.Join("\nTotal Found", newListing);

答案 1 :(得分:1)

首先是你的字符串。加入是毫无意义的。您已使用+运算符加入字符串。你应该这样......

string Combinestr = string.Join("", newListing, "\n", "Total Found");

但是,我个人会这么做......

string Conbinestr = newListing.ToString() + "\nTotal Found";

并完成它。

如果你不想要has set中的最后一项,那么我会循环哈希集并使用字符串构建器......

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();

...总的来说,你正在尝试做什么似乎不太正确

答案 2 :(得分:0)

实际上我反过来通常把'\ n'放在前面。在这种情况下,您只需要确保第一项没有附加:

if (!String.IsNullOrEmpty(newListing))
{
  newListing += "\n";
}

newListing += "Total Found";

答案 3 :(得分:0)

替代@SLaks解决方案:

int lastIndex = Combinestr.LastIndexOf("\n");

if (lastIndex > -1)
{
    Combinestr = Combinestr.Substring(0, lastIndex);
}