2010-01-10 60 views
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); 

回答

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]); 
+0

你的權利!我不知道我在想什麼。 < - 現在感覺很愚蠢。 – 2010-01-10 21:40:49

+0

如果你在星期天工作,我可以理解它=) – 2010-01-10 21:45:32