将列表写入csv文件c#

1 c# csv io

想象一下,我有两个填充值的列表.我想要第一个列表中的所有元素,写入第一列,第二个列表中的所有元素写入第二列,依此类推.

如果两个列表具有相同的大小,这可以正常工作:

 for (int i = 0; i < valueArray.Count(); i++)
 {
      var newLine = string.Format("{0},{1}", valueArray.ElementAt(i), secondValueArray.ElementAt(i));
      sw.Write(newLine);
 }
Run Code Online (Sandbox Code Playgroud)

我的问题是,如果列表具有不同的大小,代码将失败,显然超出范围异常.我尝试在列之间添加','但它不起作用.

w.b*_*w.b 6

而不是ElementAt你应该使用ElementAtOrDefault:

根据msdn

返回序列中指定索引处的元素,如果索引超出范围,则返回默认值.

  • 这不是同一个解决方案.列表内容保持不变,填写列表时不是这种情况. (2认同)