0

そのため、名前、電子メール、電話番号を含む、次の形式の情報を含むテキスト ファイルがあります。

Bill Molan, Bill.Molan@gmail.com, 612-789-7538
Greg Hanson, Greg.Hanson@gmail.com, 651-368-4558
Zoe Hall, Zoe.Hall@gmail.com, 952-778-4322
Henry Sinn, Henry.Sinn@gmail.com, 651-788-9634
Brittany Hudson, Brittany.Hudson@gmail.com, 612-756-4486

プログラムの開始時に、このファイルを読み取り、各行を新しい Person() に変換して、最終的にリストに追加したいと考えています。各行を読み取り、コンマを使用して各文字列を区切り、基本クラスである Person() のコンストラクターに入れたいと考えています。

public PersonEntry(string n, string e, string p)
{
    Name = n;
    Email = e;
    Phone = p;
}

私はいくつか見てきましたが、ストリームリーダーを使用するとテキストファイルを読み取ることができると思いますが、ここからどこに行くべきか本当にわかりません.

4

3 に答える 3

0

コンマがデータ内に表示されないと仮定すると、StreamReader.ReadLine を使用してテキストの各行を読み取ります。テキストの各行で、string.Split を使用して、コンマを分割文字として使用して行を文字列の配列に分割します。これで、[0] が名前、[1] メール、[2] 電話の 3 つの文字列の配列ができました。

于 2013-09-19T05:56:08.370 に答える
0

以下のようにすべての行を読むことができます//すべての行が常に3つの値を持つと仮定します

var allLines  = File.ReadAllLines(path);
var listOfPersons = new List<Person>();
foreach(var line in allLines)
{
    var splittedLines = line.Split(new[] {","})
     if(splittedLines!=null && splittedLines.Any())
      {
          listOfPersons.Add( new Person {
                                           Name = splittedLines[0],
                                           Email = splittedLines .Length > 1 ?splittedLines[1]:null,
                                            Phone = splittedLines .Length > 2? splittedLines[2]:null,
                                         });
      }

}

このコードはサンプルであり、配列の長さなどのさまざまな条件についても確認する必要があります。

于 2013-09-19T05:50:06.597 に答える