CSV字符串处理

CSV string handling

来源: link 标签: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到Objects :

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

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

  相同标签的其他问题

c#csv