c# - CSV 字符串处理

标签 c# csv

创建 CSV 的典型方法字符串(伪代码):

  1. 创建 CSV 容器对象(类似于 C# 中的 StringBuilder)。
  2. 遍历要添加的字符串,在每个字符串后附加一个逗号。
  3. 在循环之后,删除最后一个多余的逗号。

代码示例:

public string ReturnAsCSV(ContactList contactList)
{
    StringBuilder sb = new StringBuilder();
    foreach (Contact c in contactList)
    {
        sb.Append(c.Name + ",");
    }

    sb.Remove(sb.Length - 1, 1);
    //sb.Replace(",", "", sb.Length - 1, 1)

    return sb.ToString();
}

我喜欢通过检查容器是否为空来添加逗号的想法,但这是否意味着需要进行更多处理,因为它需要在每次出现时检查字符串的长度?

我觉得应该有一种更简单/更清晰/更有效的方法来删除最后一个逗号。有什么想法吗?

最佳答案

你可以使用 LINQ to Objects :

string [] strings = contactList.Select(c => c.Name).ToArray();
string csv = string.Join(",", strings);

显然,这一切都可以在一行中完成,但在两行中会更清楚一些。

关于c# - CSV 字符串处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4432/

相关文章:

c# - Properties.Settings.Default 是否有非默认替代方案?

c# - cookie的默认过期时间是多少

C#;列表框作为一个对象(容器)

c# - 从 List<int> 填充 EntitySet

powershell - 使用导出 CSV

c# - 点网核心 3.1 : How to use AddJsonFile with absolute path to file?

node.js - 使用 fast-csv 将 [object Object] 写入 csv 文件

python - 使用带有转义字符的 Pandas 将 csv 转换为 tsv

Excel/CSV - 将键值转换为 csv

python - .csv 到 .edf 或其他 EEG 读取格式