IList<string>从or创建逗号分隔的字符串值列表的最简洁方法是什么IEnumerable<string>?
IList<string>
IEnumerable<string>
String.Join(...)``string[]当诸如IList<string>或IEnumerable<string>不能轻易转换为字符串数组之类的类型时,对 a 进行操作可能会很麻烦。
String.Join(...)``string[]
.NET 4+
IList<string> strings = new List<string>{"1","2","testing"}; string joined = string.Join(",", strings);
.Net 4.0 解决方案的详细信息
IEnumerable<string>可以使用 LINQ (.NET 3.5) 很 容易地转换为字符串数组:
IEnumerable<string> strings = ...; string[] array = strings.ToArray();
如果您需要,编写等效的辅助方法很容易:
public static T[] ToArray(IEnumerable<T> source) { return new List<T>(source).ToArray(); }
然后像这样调用它:
IEnumerable<string> strings = ...; string[] array = Helpers.ToArray(strings);
然后您可以调用string.Join. 当然,您不必 使用 辅助方法:
string.Join
// C# 3 and .NET 3.5 way: string joined = string.Join(",", strings.ToArray()); // C# 2 and .NET 2.0 way: string joined = string.Join(",", new List<string>(strings).ToArray());
后者虽然有点拗口:)
这可能是最简单的方法,而且性能也很好——还有其他关于性能究竟如何的问题,包括(但不限于)这个。
从 .NET 4.0 开始,有更多可用的重载string.Join,因此您实际上可以只写:
string joined = string.Join(",", strings);
简单得多:)