0

整数、倍精度、または文字列のデータ列を含むテキスト ファイルがあります。データの各行を独自のレコード クラスに読み込みたい。列のデータ型は事前にわかっているので、テキスト ファイルの行を次のコードのように解析しています (入力したので、エラーがあっても文句を言わないでください)。すべての列をリストしたわけではないので、switch ステートメントには 74 のケースがあります。これが最善の方法かどうかはわかりません。これを行うためのより良い方法は何ですか? また、可能な限り高速である必要があります。

List<record> records = new List<record>();

string[] split = textRow.Split(new string { "," }, StringSplitOptions.None);
record = new Record();
for (int i=0;i<split.Length;i++)
{      
   switch (i)
   {
      case 0: 
         record.ID = Convert.ToInt32(split[0]);
         break;
      case 1:
         record.Name = split[1];
         break;
      case 2:
         record.Rate = Convert.ToDouble(split[2]);
         break;
      case 3:
         record.Price = Convert.ToDouble(split[3]);
         break;
      case 4:
         record.Rank = Convert.ToInt32(split[4]);
         break;

   }
}

records.Add(record);
4

1 に答える 1

3

本当にそれが必要ですswitchか? どうですか:

string[] split = textRow.Split(new string { "," }, StringSplitOptions.None);
record = new Record();
record.ID = Convert.ToInt32(split[0]);
record.Name = split[1];
record.Rate = Convert.ToDouble(split[2]);
record.Price = Convert.ToDouble(split[3]);
record.Rank = Convert.ToInt32(split[4]);
于 2010-01-10T21:18:04.903 に答える