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

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

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


当前回答

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

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

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

其他回答

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

输出

000111,000222,000333

如果你的列表有字段/属性,你想使用一个特定的值(例如FirstName),那么你可以这样做:

string combindedString = string.Join( ",", myList.Select(t=>t.FirstName).ToArray() );

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

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

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

你的问题的直接答案是字符串。像其他人提到的那样加入。

然而,如果你需要一些操作,你可以使用Aggregate:

List<string> employees = new List<string>();
employees.Add("e1");
employees.Add("e2");
employees.Add("e3");

string employeesString = "'" + employees.Aggregate((x, y) => x + "','" + y) + "'";
Console.WriteLine(employeesString);
Console.ReadLine();

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

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

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