如何在字符串中间添加符号字符,但不在C#中字符串的开头或结尾添加

Tec*_*Tru 4 c# string

我有一个动态大小的字符串数组.

例如:

string[] UserName_arr = new string[usercount + 1]; 
// here usercount would be int value considering it as 4 so the array size would be 5.
Run Code Online (Sandbox Code Playgroud)

我需要将每个UserName_arr值添加到仅与特殊字符<符号合并的单个字符串中.

当我使用此代码时 main_UserName = String.Join("<", UserName_arr);

我得到了字符串,因为main_UserName =a1<a2<a3< 我不需要字符串<的末尾

我检查了这个链接,但无法到达任何地方

Roh*_*ews 5

这会是你想要做的吗?

UserName_arr.Aggregate((x,y) => x + "<" + y);
Run Code Online (Sandbox Code Playgroud)

您可以在此处查看有关Aggregate的更多信息.

或者你可以TrimEnd在你的代码中做:

main_UserName = String.Join("<", UserName_arr);
main_UserName = main_UserName.TrimEnd('<');
Run Code Online (Sandbox Code Playgroud)

String.Join 例如:

string[] dinosaurs = new string[] { "Aeolosaurus",
        "Deinonychus", "Jaxartosaurus", "Segnosaurus" };        
string joinedString = string.Join(", ", dinosaurs);
Console.WriteLine(joinedString);
Run Code Online (Sandbox Code Playgroud)

输出:

Aeolosaurus,Deinonychus,Jaxartosaurus,Segnosaurus

看有没有,到底.

String.Join 这个例子.

编辑:

根据OP的评论和Vera rind的评论,OP面临的问题是String数组的错误声明.它有一个元素超过了需要,导致成为Null数组末尾的元素.当与String.Join最后一个元素一起使用时,该数组在结尾处导致不需要的"<".

将数组声明更改为:

string[] UserName_arr = new string[usercount]; 
Run Code Online (Sandbox Code Playgroud)

或者在Join条件中检查空字符串:

String.Join("<", UserName_arr.Where(x => string.IsNullOrEmpty(x) == false))
Run Code Online (Sandbox Code Playgroud)