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 を作成する方法もあり、リスト情報を渡す必要がありますが、エラーが発生します。

'app.LocationData' には 'GetEnumerator' のパブリック定義が含まれていないため、foreach ステートメントはタイプ 'app.LocationData' の変数を操作できません

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 に答える