0

我有一个应用程序,它将解析一个 excel 文件并添加一个列,然后生成一个带有结果的新 CSV 文件。我能够在文件中创建我想要的项目列表,但我无法弄清楚如何将该列表传递给生成新文件的方法。

我有以下课程:

public class LocationData
{
    public string PostalCode { get; set; }
    public string Partner { get; set; }
    public string LocationID { get; set; }
    public string Name { get; set; }
    public string Country { get; set; }
    public string Market { get; set; }
}

以及将数据放入列表的以下代码:

LocationData Locationdata = new LocationData()
{
    PostalCode = location[0],
    Partner = location[1],
    LocationID = location[2],
    Name = location[3],
    Country = location[4],
    Market = repository.GetMarketsForPostalCode(location[0])
}

我也有创建 csv 的方法,我需要传入列表信息,但出现错误:

foreach 语句无法对“app.LocationData”类型的变量进行操作,因为“app.LocationData”不包含“GetEnumerator”的公共定义

4

2 回答 2

0

您的 csv 函数将如下所示

        public void GenerateCSV(List<LocationData> data)
    {
        foreach (LocationData d in data)
        {
            //put line in csv as
            string s = d.PostalCode + "," d.Partner + _"," + d.LocationID...... + Environment.NewLine;
        }
    }

您的班级声明将保持不变

public class LocationData
{
    public string PostalCode { get; set; }
    public string Partner { get; set; }
    public string LocationID { get; set; }
    public string Name { get; set; }
    public string Country { get; set; }
    public string Market { get; set; }
}

现在您需要首先在列表中添加所有数据,您将这样做

            List<LocationData> lst = new List<LocationData>();

        LocationData ld = new LocationData();
        ld.LocationID = "0";
        ld.Market = "market";

        lst.Add(ld);
        ........
        GenerateCSV(lst);
于 2012-09-30T06:12:38.630 回答
0

我认为您误解了 C# 中的列表是什么。我认为您需要List数据类型。尝试这个:

List<string> Locationdata = new List<string>()
  {
    location[0],
    location[1],
    location[2],
    location[3],
    location[4],
    repository.GetMarketsForPostalCode(location[0])
  };
于 2012-09-30T05:08:19.273 回答