我有一个 List<string>
名为 Items 的列表中的第一项将始终如下所示(已包含分隔符):
string1\\string1
那么其余的项目将是一个没有 separator (\\)
的普通字符串.
我正在尝试 string.Join
它们全部并获得如下所示的字符串表示形式。
somestring1\\somestring1\\somestring2\\somestring3
我正在尝试这样的事情,但它没有正确绑定(bind)。加入这些的正确方法是什么?:
string path = string.Join(@"", Items.Take(1), string.Join(@"\\", Items.Skip(1)));
更新:
var items = new List<string>();
items.AddRange(HeaderCollection.Select(item => item.Header));
var path = string.Join(@"\\", items.ToArray());
正在生产
somestring1\\somestring1\\\\somestring2
如果我跳过列表中的第一项,这将起作用。不知道什么会导致双重 \\\\
var header = string.Join(@"\\", items.Skip(1));
最佳答案
我希望是这么简单:
string path = string.Join(@"\\", Items.ToArray());
例如这个程序:
using System;
using System.Collections.Generic;
public class Program
{
public static void Main()
{
List<String> list = new List<String>();
list.Add(@"One\\Two");
list.Add(@"Three");
list.Add(@"Four");
String s = String.Join(@"\\", list.ToArray());
Console.WriteLine(s);
}
}
产生这个输出:
One\\Two\\Three\\Four
关于c# - 使用来自同一个 List<string> 的 Take() 和 Skip() 连接字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29837993/