我如何在c#中转换一个列表到字符串?
当我在List对象上执行toString时,我得到:
System.Collections.Generic.List`1[System.String]
我如何在c#中转换一个列表到字符串?
当我在List对象上执行toString时,我得到:
System.Collections.Generic.List`1[System.String]
当前回答
你的问题的直接答案是字符串。像其他人提到的那样加入。
然而,如果你需要一些操作,你可以使用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();
其他回答
如果你的列表有字段/属性,你想使用一个特定的值(例如FirstName),那么你可以这样做:
string combindedString = string.Join( ",", myList.Select(t=>t.FirstName).ToArray() );
string strs="111,222,333"
string.Join(",",strs.Split(',').ToList().Select(x=>x.PadLeft(6,'0')).ToArray());
输出
000111,000222,000333
你的问题的直接答案是字符串。像其他人提到的那样加入。
然而,如果你需要一些操作,你可以使用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()方法并将它们连接起来。
也许你正在尝试
string combinedString = string.Join( ",", myList.ToArray() );
您可以将“,”替换为您想要分割列表中的元素的值。
编辑:正如评论中提到的,你也可以这么做
string combinedString = string.Join( ",", myList);
参考:
Join<T>(String, IEnumerable<T>)
Concatenates the members of a collection, using the specified separator between each member.