将代码列表集合写入c#中的字符串

Edy*_* Cu 4 c# string collections coding-style

我尝试将列表集合字符串转换为一个行字符串时遇到问题.但对于每个项目,我必须使用特定格式进行编辑.

List<string> items = new List<string>();
string result = string.Empty;

items.Add("First");
items.Add("Second");
items.Add("Last");

result = string.Join(",", items.ToArray());
Console.WriteLine(result); // Display: First,Second,Last
Run Code Online (Sandbox Code Playgroud)

但我想转换成这样的东西:

[First],[Second],[Last]
Run Code Online (Sandbox Code Playgroud)

或类似的东西

--First-,--Second-,--Last-
Run Code Online (Sandbox Code Playgroud)

我知道使用foreach for循环来编写这段代码的技巧很少.

但它可以编写代码只需将列表集合中的所有项目更改为特定的模式字符串.

因此,项目集合字符串包含从"First"到"\ First /",或"Last"到"''Last'"的相似内容.

看待

Jon*_*eet 10

在使用Join之前,您似乎想要投影:

result = string.Join(",", items.Select(x => "[" + x + "]")
                               .ToArray());
Run Code Online (Sandbox Code Playgroud)

我个人认为这比使用更复杂的分隔符执行连接更清楚.这感觉就像你实际上得到的物品[First],[Second][Third]用逗号连接-而不是项目First,SecondThird通过加入],[.

您的第二种形式同样容易实现:

result = string.Join(",", items.Select(x => "--" + x + "-")
                               .ToArray());
Run Code Online (Sandbox Code Playgroud)

请注意,ToArray如果您使用的是.NET 4,则无需调用,因为它引入了额外的重载以使其string.Join更易于使用.