我偶尔会得到不完全干净的数据,并且在运行时我会收到错误消息,因为数据与预期的类型不匹配。例如,有时数据在应该有一个 int 的地方有一个字符串,或者在应该有一个日期的地方有一个 int。
有没有办法先扫描数据中的坏数据,这样我就可以一次修复它,而不是在运行时找出并迭代地修复它?
这是我的有效代码:
class TestScore{
public string Name;
public int Age;
public DateTime Date;
public DateTime Time;
public double Score;
}
//read data
var Data = File.ReadLines(FilePath).Select(line => line.Split('\t')).ToArray();
//select data
var query = from x in Data
select new { Name = x[3], Age = x[1], Date = x[2], Time = x[5], Score = x[7] };
//create List and put data into List
List<TestScore> Results = new List<TestScore>();
for (int i = 0; i < query.Count; i++)
{
TestScore TS = new TestScore();
TS.Name = query[i].Name;
TS.Age = query[i].Age;
TS.Date = query[i].Date;
TS.Time = query[i].Time;
TS.Score = query[i].Score;
Results.Add(TS);
}