c# - 如何在字符串中间添加一个符号字符,而不是在 C# 中的字符串开头或结尾

标签 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.

我需要将每个 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/

相关文章:

c# - 编写检查内存泄漏的测试。什么是可行的方法?

c++ - 解释这个宏

java - 跳过一个单词,打印下一个单词

c# - 在字符串数组中找到最短的字符串

c# - LINQ 查询需要在同一查询中升序或降序

c# - LINQ 或 ADO.net Entity Framework - 学习哪个?

c# - .NET Web API(非核心)- 在 Entity Framework Controller 中创建修补操作

c++ - 将 char* 输出到 std::string C++

c - 如何使用格式字符串攻击覆盖变量

c# - 您可以将列表框绑定(bind)到 WPF 中的元组列表吗