c# - 读取并显示C#中读取到的csv文件

标签 c#

我刚刚开始学习 C#,如果这是一个基本问题,我很抱歉。

我编写了一些代码来显示 csv 文件中的读取内容,但我不确定如何显示正在读取的内容。以下是我编写的代码:

static void Main(string[] args)
    {
        var reader = new StreamReader(File.OpenRead(@"C:\Users\syang\Desktop\file.csv"));
        List<string> listA = new List<string>();
        List<string> listB = new List<string>();
        while (!reader.EndOfStream)
        {
            var line = reader.ReadLine();
            var values = line.Split(',');

            listA.Add(values[0]);
            listB.Add(values[1]);
        }
    }

任何帮助将不胜感激。谢谢!

最佳答案

创建显示方法

static void Display(string input)
{
    Console.Write(input + " ");
}

然后在您的 Main 方法中,最后为每个成员调用它...

...
    listA.Add(values[0]);
    listB.Add(values[1]);
}
listA.ForEach(Display);

如果您想要不同的格式来显示项目,您可以更改 Console.Write 部分。

如果您希望它们在一行中或其他同样简单的内容,您可以在一行中完成:

listA.ForEach(Console.WriteLine);

但是,在此版本的代码中,您做出了 2 个假设:

  1. 没有任何项目包含逗号
  2. 文件确实是用逗号分隔的(而不是其他符号)
  3. 每行至少包含两项

CSV 格式没有明确的规范,因此除非您自己创建 CSV(或者从受信任的实体获取它),否则您不能信任具有上述三种格式的任何人。

关于c# - 读取并显示C#中读取到的csv文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41862467/

相关文章:

c# - ASP.NET 中的自定义类型应用程序设置

c# - 可以避免在简单值类型列表上的 OrderBy 查询中的冗余吗?

c# - 使用反射在签名为 : SomeObject. 的对象实例上调用泛型方法 SomeGenericInstanceMethod<T>(T argument)

c# - XML - 帮助 RSS UTF-8 支持

c# - EF 代码首先是 : inherited dbcontext creates two databases

c# - 为什么是 IEnumerable.Empty<T>() 而不是 IEnumerable<T>.Empty()?

c# - 使用 visual studio 和 entity framework core 5.0.2 连接到 MSSQL Server developer edition

c# - 使用更好吗?

c# - 有没有办法使用 MSTest 运行一组参数的所有测试?

c# - c#中值类型和引用类型的混淆