我有一个动态大小的字符串数组。
例如:
string[] UserName_arr = new string[usercount + 1];
// here usercount would be int value considering it as 4 so the array size would be 5.
我需要将每个 UserName_arr 值添加到一个只与一个特殊字符合并的字符串中 <
符号。
当我使用此代码时 main_UserName = String.Join("<", UserName_arr);
我得到的字符串为 main_UserName =a1<a2<a3<
我不需要 <
在我的字符串的末尾
我 checkout this link但无法到达任何地方
最佳答案
这就是您想要做的吗?
UserName_arr.Aggregate((x,y) => x + "<" + y);
您可以在聚合 here 上查看更多信息.
或者您可以在代码中执行 TrimEnd
:
main_UserName = String.Join("<", UserName_arr);
main_UserName = main_UserName.TrimEnd('<');
String.Join
示例:
string[] dinosaurs = new string[] { "Aeolosaurus",
"Deinonychus", "Jaxartosaurus", "Segnosaurus" };
string joinedString = string.Join(", ", dinosaurs);
Console.WriteLine(joinedString);
输出:
Aeolosaurus, Deinonychus, Jaxartosaurus, Segnosaurus
看到最后没有,。
参见String.Join
this example .
编辑:
根据 OP 的评论和 Vera rind 的评论,OP 面临的问题是 String 数组的声明错误。
它的元素多于所需的一个,导致数组末尾的 Null
元素。
当与 String.Join
一起使用时,由于最后一个元素为 null,此数组在末尾产生了不需要的“<”。
要么将数组声明更改为:
string[] UserName_arr = new string[usercount];
或者检查连接条件中的空字符串:
String.Join("<", UserName_arr.Where(x => string.IsNullOrEmpty(x) == false))
关于c# - 如何在字符串中间添加一个符号字符,而不是在 C# 中的字符串开头或结尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30772031/