在C#中,如果我有一个List<MyObj>where MyObj是一个带有重写ToString()方法的自定义类,MyObj那么List 中的每个对象都可以很容易地转换为字符串.
我怎样才能加入这个List<MyObj>有一个分隔符,例如管道(|)合并为一个字符串.
所以,如果我有3个MyObj对象,其ToString方法将分别产生AAA,BBB,CCC.我会创建一个单独的字符串:AAA | BBB | CCC.
对于更简单类型的列表,例如List<string>我执行此操作简单如下:String.Join("|",myList.ToArray());.有没有办法可以做类似的事情?或者我是否被迫迭代对象列表并使用字符串生成器将每个对象的ToString一起追加到列表中?
Jon*_*eet 44
在.NET 4中,您可以使用:
var x = string.Join("|", myList);
Run Code Online (Sandbox Code Playgroud)
.NET 3.5没有尽可能多的重载string.Join- 您需要执行字符串转换并将其明确地转换为数组:
var x = string.Join("|", myList.Select(x => x.ToString()).ToArray());
Run Code Online (Sandbox Code Playgroud)
比较可用的重载:
| 归档时间: |
|
| 查看次数: |
23539 次 |
| 最近记录: |