如何读取资源csv文件

How to read resources csv file

我曾经在我的应用程序中使用 csv 文件

这里是原代码

        string csvFile = Directory.GetCurrentDirectory() + @"\data\" + Scheme + ".csv"
        DataTable dt = ReadCSV(csvFile);
        dgv.DataSource = dt;

现在我想将 csv 文件作为嵌入资源

我试过了。但它不起作用

        string csvFile = System.Resources.MyFile; //This is error
        DataTable dt = ReadCSV(csvFile);
        dgv.DataSource = dt;

我想知道如何正确获取代码运行?

如@dr.null 所说,将文件添加到菜单 Project/Properties/Resources 后,您必须在解决方案资源管理器中单击项目名称,以便可以设置操作 属性 到“内置资源”。

然后,使用类似的东西:

using System.Reflection;

var assembly = Assembly.GetExecutingAssembly();
var resourceName = "assembly_name.Resources.yourFile.csv";
var lines = ReadLines(() => Assembly.GetExecutingAssembly().GetManifestResourceStream(resourceName), Encoding.UTF8).ToList();

其中:

        public IEnumerable<string> ReadLines(Func<Stream> streamProvider, Encoding encoding)
        {
            using (var stream = streamProvider())
            using (var reader = new StreamReader(stream, encoding))
            {
                string line;
                while ((line = reader.ReadLine()) != null)
                {
                    yield return line;
                }
            }
        }

您将拥有包含您的 csv 数据的可变行。