gpt4 book ai didi

c# - 将通用列表转换为 CSV 字符串

转载 作者:IT王子 更新时间:2023-10-29 03:33:24 26 4
gpt4 key购买 nike

我有一个整数值列表 (List),并想生成一个由逗号分隔值组成的字符串。这是列表中的所有项目输出到单个逗号分隔列表。

我的想法...1. 将列表传递给方法。2.使用stringbuilder迭代列表并追加逗号3. 测试最后一个字符,如果是逗号,则删除。

你有什么想法?这是最好的方法吗?

如果将来我不仅要处理整数(我目前的计划),还要处理字符串、长整型、 double 型、 bool 型等,我的代码将如何更改?我想让它接受任何类型的列表。

最佳答案

Framework 已经为我们所做的一切令人惊叹。

List<int> myValues;
string csv = String.Join(",", myValues.Select(x => x.ToString()).ToArray());

对于一般情况:

IEnumerable<T> myList;
string csv = String.Join(",", myList.Select(x => x.ToString()).ToArray());

如您所见,这实际上没有什么不同。请注意,您可能需要实际包装 x.ToString()在引号中(即 "\"" + x.ToString() + "\"" )以防 x.ToString()包含逗号。

有关此内容的细微变体的有趣阅读:请参阅 Comma Quibbling在 Eric Lippert 的博客上。

注意:这是在.NET 4.0 正式发布之前写的。现在我们可以说

IEnumerable<T> sequence;
string csv = String.Join(",", sequence);

使用重载 String.Join<T>(string, IEnumerable<T>) .此方法将自动投影每个元素 xx.ToString() .

关于c# - 将通用列表转换为 CSV 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1890093/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com