繁体   English   中英

如何使用 c# 从任何文件读取数据并插入到 class object

[英]How to read data from any file and insert to class object using c#

我正在从 CSV 文件中读取数据并尝试添加到 object。 但是当我通过循环通过记录添加新记录时,object 中的数据被覆盖。

public static void Process()
    {
        var path= @"ABC.csv";
        var header = false;
        var lines = System.IO.File.ReadAllLines(filePath);
        var element = new List<Content>();
        var mapTo = new Content();
        for (var i = 0; i < lines.Length; i++)
        {
            var t = lines[i];
            if (!header)
            {
                header = true;
            }
            else
            {
                var data = t.Split(',');
                mapTo.Key= data[0];
                mapTo.Name= data[1];
                mapTo.Number= data[2];
                mapTo.Date= data[3];
                element.Add(mapTo);
            }
        }
       
        var result = element;
    }

所以在这里,当我尝试将 mapTo 添加到元素时,元素变量中的所有内容都被覆盖了。任何人都可以建议我在这里做错了什么。

移动var mapTo = new Content(); 进入for循环。 否则,对于每个循环迭代,您都有相同的Content实例,这些实例会被 for 循环中的分配覆盖。

public static void Process()
{
    var path= @"ABC.csv";
    var header = false;
    var lines = System.IO.File.ReadAllLines(filePath);
    var element = new List<Content>();
    
    for (var i = 0; i < lines.Length; i++)
    {
        var mapTo = new Content(); //here

        var t = lines[i];
        if (!header)
        {
            header = true;
        }
        else
        {
            var data = t.Split(',');
            mapTo.Key= data[0];
            mapTo.Name= data[1];
            mapTo.Number= data[2];
            mapTo.Date= data[3];
            element.Add(mapTo);
        }
    }
   
    var result = element;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM