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