我如何在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()。

其他回答

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

然而,如果你需要一些操作,你可以使用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();

当我试图从文本文件中检索数据并将其存储在数组中,然后将其分配给一个字符串变量时,这种方法帮助了我。

string[] lines = File.ReadAllLines(Environment.CurrentDirectory + "\\Notes.txt");  
string marRes = string.Join(Environment.NewLine, lines.ToArray());

希望可以帮助某人!!!!

你有一个List<string> -如果你想把它们连接起来,就像这样

string s = string.Join("", list);

可以工作(至少在。net 4.0中)。第一个参数是分隔符。你也可以用逗号分隔等等。

您可能还希望使用StringBuilder来运行连接,而不是形成一个列表。

我将跟随我的直觉,并假设您想要连接在列表的每个元素上调用ToString的结果。

var result = string.Join(",", list.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()。