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

发布于 2024-09-27 17:28:55 字数 637 浏览 4 评论 0原文

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

示例

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

但我希望转换为这样的内容:

[First],[Second],[Last]

或类似的内容

--First-,--Second-,--Last-

我知道很少有技术可以使用 foreach for 循环编写此代码。

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

因此,项目集合字符串包含从“First”到“\First/”,或“Last”到“''Last'”。

看待

HI all
I have problem when trying to convert list collection string to one line string.
But for each item i must edit with specific format.

Example

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

But I wish to convert to something like this:

[First],[Second],[Last]

or something like

--First-,--Second-,--Last-

I know there few technique to write this code using foreach for loop.

But could it write code just change all item in list collection into specific pattern string.

So the items collections string contain like from "First" to "\First/", or "Last" to "''Last'".

Regard

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

甜嗑 2024-10-04 17:28:55

听起来您想要在使用 Join 之前进行投影:

result = string.Join(",", items.Select(x => "[" + x + "]")
                               .ToArray());

我个人认为这比使用更复杂的分隔符执行 join 更清晰。 感觉就像您实际上已经加入了[First][Second][Third]项目用逗号 - 而不是由 ],[ 连接的 FirstSecondThird 项。

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

result = string.Join(",", items.Select(x => "--" + x + "-")
                               .ToArray());

请注意,如果您使用 .NET 4,则不需要调用 ToArray ,因为它引入了额外的重载来使 string.Join代码> 更容易使用。

It sounds like you want a projection before using Join:

result = string.Join(",", items.Select(x => "[" + x + "]")
                               .ToArray());

Personally I think that's clearer than performing a join with a more complicated delimiter. It feels like you've actually got items of [First], [Second] and [Third] joined by commas - rather than items of First, Second and Third joined by ],[.

Your second form is equally easy to achieve:

result = string.Join(",", items.Select(x => "--" + x + "-")
                               .ToArray());

Note that you don't need to ToArray call if you're using .NET 4, as it's introduced extra overloads to make string.Join easier to work with.

眼泪也成诗 2024-10-04 17:28:55

为什么不

var result = "--" + string.Join("-,--", items.ToArray()) + "--";

或者

var result = "[" + string.Join("],[", items.ToArray()) + "]";

Why not

var result = "--" + string.Join("-,--", items.ToArray()) + "--";

or

var result = "[" + string.Join("],[", items.ToArray()) + "]";
剪不断理还乱 2024-10-04 17:28:55

使用 join 然后根据需要在前面和后面添加字符:

result = "[" + string.Join("],[", items.ToArray()) + "]"; 

会得到你

[First],[Second],[Last]

Use join and then add characters in front and after as needed:

result = "[" + string.Join("],[", items.ToArray()) + "]"; 

will get you

[First],[Second],[Last]
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文