-1
下面是小代码片断,我正在阅读csv文件并首先跳过,因为第一行有字段名称。所以我如何跳过或不根据条件跳过线。假设国家代码是美国或MX那么第一行将不会被跳过,但如果国家代码是GB或FR那么第一行就会跳过。建议我在下面的代码中添加什么,因为第一行跳过将取决于条件。C#如何跳过或不有条件跳过
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();
}
}
哪条线要有条件地跳过?第一行?国家代码从哪里来?每条线都不一样吗? –
你的问题有点不清楚。你想跳过第一行,因为它只包含字段名称?所以没有条件......你不会在你最近的“选择”中确定一个国家代码。从哪里来? –