在C#中解析csv文件

时间:2016-05-10 10:11:35

标签: c#

String[] values = File.ReadAllText(@"C:/Users/state.csv").Split(',');
Console.WriteLine(values);
Console.ReadLine();

它只打印出:System.String []到控制台上,程序是 跑了很长时间

4 个答案:

答案 0 :(得分:0)

除非覆盖(非字符串)类型的ToString()方法,否则它将只返回对象类型的名称,在这种情况下; “System.String []”。

您想要打印数组中的所有值。请尝试:

String[] values = File.ReadAllText(@"C:/Users/state.csv").Split(',');

foreach( var v in values)
{
    Console.WriteLine(v);
}
Console.ReadLine();

答案 1 :(得分:0)

使用任何循环打印

string[] lines = System.IO.File.ReadAllLines(@"C:/Users/state.csv");
foreach (string line in lines)
{
   string[] values = line.Split(',');
   foreach(var item in values)
      {
         Console.WriteLine(item);
      }
}

答案 2 :(得分:0)

数组上的

.ToString()方法将返回“System.String []”。如果需要打印数组中的每个项目,请使用循环并打印每个项目。

或使用下面的字符串连接

Console.WriteLine(string.Join(Environment.NewLine, values));

答案 3 :(得分:0)

如果您之前已将它拆分,我不认为迭代这些项目是一个好主意。我会改变你的代码:

string valuesString = File.ReadAllText(@"C:/Users/state.csv");
Console.WriteLine(valuesString);
String[] values = valuesString.Split(',');

这样您只需将此字符串拆分一次。如果要扩展控制台的缓冲区,则应该执行

Console.BufferHeight = Int16.MaxValue - 1;