我如何在c#中转换一个列表到字符串?

当我在List对象上执行toString时,我得到:

System.Collections.Generic.List`1[System.String]


当前回答

如果你想把一个列表中的项目变成一个大的长字符串,可以这样做:字符串。myList加入(" ")。一些旧版本的框架不允许你传递IEnumerable作为第二个参数,所以你可能需要通过调用. toarray()将列表转换为数组。

其他回答

字符串。Join(" ", myList)或String。Join(" ", myList.ToArray())。第一个参数是子字符串之间的分隔符。

var myList = new List<String> { "foo","bar","baz"};
Console.WriteLine(String.Join("-", myList)); // prints "foo-bar-baz"

根据你的.NET版本,你可能需要先在列表中使用ToArray()。

这很难说,但也许你想要的是:

var myString = String.Join(String.Empty, myList.ToArray());

这将隐式地对列表中的每个项调用ToString()方法并将它们连接起来。

string strs="111,222,333"
string.Join(",",strs.Split(',').ToList().Select(x=>x.PadLeft(6,'0')).ToArray());

输出

000111,000222,000333

这似乎对我有用。

var combindedString = new string(list.ToArray());

如果你想要一些比简单的连接稍微复杂一点的东西,你可以使用LINQ。

var result = myList.Aggregate((total, part) => total + "(" + part.ToLower() + ")");

将采用["A", "B", "C"]并产生"(A)(B)(C)"