-1

だから私は本質的に単語で区切られたデータのリストであるcsvファイルを読み込もうとしています。これまでに行ったことはReadAllLinesを使用し、そこからtext.Split('、');で区切られています。唯一の問題は、実際の配列を作成するのではなく、この種のリスト/配列クラスのメソッドについて読んだだけなので、それを呼び出す方法や使用する方法がわかりません。これが私がこれまでに持っているものです:

using System;
using System.IO;
public class Earthquake
{
    public double Magnitude { get; set; }
    public string Location { get; set; }
    public double Latitude { get; set; }
    public double Longitude { get; set; }
    public double depth { get; set; }
    public string date { get; set; }
    public string EventID { get; set; }
    public string URL { get; set; }
    public Earthquake(double magna, string locate, double lat, double longi, double dept, string dat, string Event, string website)
    {
        Magnitude = magna;
        Location = locate;
        Latitude = lat;
        Longitude= longi;
        depth = dept;
        date = dat;
        EventID = Event;
        URL = website;
    }

}
public class ManageData
{

    public int count;
    public void getData()
{
    string[] text = File.ReadAllLines(@"Earthquakes.csv");
    foreach (string word in text[count].Split(','))
    {
        //here i want to put each data in the Earthquake class
    }

}

}
4

2 に答える 2

0

交換できます

foreach (string word in text[count].Split(','))
    {
        //here i want to put each data in the Earthquake class
    }

次のコード行を使用して、それが役立つかどうかを確認します

foreach (string line in text)
{
  string[] myColumns = line.Split(',');

  EarthQuake eQ = new EarthQuake(myColumns[0],myColumns[1],myColumns[2],myColumns[3],myColumns[4],myColumns[5],myColumns[6],myColumns[7],myColumns[8]);
  //Add eQ into a list you want to save

}

これは、列が同じ順序であることを前提としています。このコンストラクターを使用するのではなく順序が異なる場合は、デフォルトのコンストラクターを使用してから、それに応じてEarthQuakeクラスのプロパティに値を割り当てます。

お役に立てば幸いです。

于 2012-11-27T05:43:36.230 に答える
0

このプロジェクトは、CSVファイル、 C#CSVリーダーおよびライターを管理する必要があるときに非常に役立ちました

于 2012-11-27T05:55:20.567 に答える