c#如何添加字符串.连接而不追加最后一个字符串



基本上我使用字符串。像下面这样连接。

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

最新更新