您好,我想获取一个列表集合并生成一个 csv 行。所以拿这个;
List<string> MakeStrings()
{
List<string> results = new List<string>();
results.add("Bob");
results.add("Nancy");
results.add("Joe");
results.add("Jack");
return results;
}
string ContactStringsTogether(List<string> parts)
{
StringBuilder sb = new StringBuilder();
foreach (string part in parts)
{
if (sb.Length > 0)
sb.Append(", ");
sb.Append(part);
}
return sb.ToString();
}
这将返回“Bob,Nancy,Joe,Jack”
正在寻求有关 LINQ 的帮助以在单个语句中执行此操作。谢谢!
最佳答案
没有任何类轮可以使用 LINQ 执行此操作。请注意,您可以使用 Aggregate 方法来执行此操作,但您将使用字符串连接而不是 StringBuilder。如果您经常这样做,我会考虑为此添加一个扩展方法:
public static string ToCsv<T>(this IEnumerable<T> source)
{
if (source == null) throw new ArgumentNullException("source");
return string.Join(",", source.Select(s => s.ToString()).ToArray());
}
关于linq - 从 LINQ 中的字符串列表生成 CSV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2758850/