我有一个文本文件,其中包含整数,双精度或字符串的数据列。我想将每行数据读入我自己的记录类。我事先知道列数据类型,所以我解析一个类似下面代码的文本文件行(我输入它,所以不要抱怨有错误)。我没有列出所有列,因此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);
答案 0 :(得分: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]);