我如何在c#中转换一个列表到字符串?
当我在List对象上执行toString时,我得到:
System.Collections.Generic.List`1[System.String]
我如何在c#中转换一个列表到字符串?
当我在List对象上执行toString时,我得到:
System.Collections.Generic.List`1[System.String]
当前回答
字符串。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()。
其他回答
我将跟随我的直觉,并假设您想要连接在列表的每个元素上调用ToString的结果。
var result = string.Join(",", list.ToArray());
这很难说,但也许你想要的是:
var myString = String.Join(String.Empty, myList.ToArray());
这将隐式地对列表中的每个项调用ToString()方法并将它们连接起来。
你可以用绳子。加入:
List<string> list = new List<string>()
{
"Red",
"Blue",
"Green"
};
string output = string.Join(Environment.NewLine, list.ToArray());
Console.Write(output);
结果将是:
Red
Blue
Green
作为环境的替代方案。NewLine,您可以用您选择的基于字符串的行分隔符替换它。
这似乎对我有用。
var combindedString = new string(list.ToArray());
string strs="111,222,333"
string.Join(",",strs.Split(',').ToList().Select(x=>x.PadLeft(6,'0')).ToArray());
输出
000111,000222,000333