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

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

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


当前回答

也许你正在尝试

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.

其他回答

字符串。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 combindedString = new string(list.ToArray());

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

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

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

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

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

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