下面是一个小代码片段,我正在读取csv文件并首先跳过,因为第一行有字段名称。所以我怎么能跳过或不跳过基于条件的线。假设国家/地区代码为US或MX ,则不会跳过第一行,但如果国家/地区代码为GB或FR ,则第一行将被跳过。建议我在下面的代码中添加什么,因此第一行跳过将取决于条件。
public List<PhoneData> GetPhoneData(string strFileName)
{
return File.ReadLines(strFileName)
.Skip(1)
.Where(s => s != "")
.Select(s => s.Split(new[] { ',' }))
.Select(a => new PhoneData
{
Call_Start = DateTime.Parse( a[0]),
call_duration = TimeSpan.Parse(a[1]),
Ring_duration = int.Parse(a[2]),
direction = a[4],
Is_Internal =Convert.ToInt32( a[8]),
continuation = int.Parse( a[10]),
party1name = a[13],
Caller = a[3],
Park_Time = Convert.ToInt32(a[16]),
Called_number = a[5]
})
.ToList();
}
}
答案 0 :(得分:6)
return File.ReadLines(strFileName)
.Skip(someCondition ? 0 : 1)