我有一个示例CSV文件,如下所示
代码:
var query = File.ReadAllLines("test.txt")
.Select(record => record.Split(','))
.Select(tokens => new { clearNum = tokens[0], MPID = tokens[1] });
foreach (var item in query)
{
Console.WriteLine("{0}, {1}", item.clearNum, item.MPID);
}
我可以打印这些物品。
我需要将LINQ查询的输出发送到LIST
public class icSASList { public string ClearNum {get;组; } public string MPID {get;组; } }
列出clearList = new List;
答案 0 :(得分:0)
我没有尝试编译它,但我认为你想要这样的东西?
var clearList = query.Select(x=>new icSASList(){ClearNum = x.clearNum, MPID = x.MPID}).ToList();
答案 1 :(得分:0)
在考虑了接受的答案之后,我想建议一个需要较少对象初始化的解决方案。如果列表很大,这将有所作为。
var query = File.ReadAllLines("test.txt")
.Select(record => record.Split(','))
.Select(tokens => new icSASList(){ ClearNum = tokens[0], MPID = tokens[1] });
var clearList = query.ToList();
哦,是的,使用record.Split(',')
是天真的 - 通常允许在“(引用)字段中使用逗号,这会破坏您的程序。更好地使用http://www.filehelpers.com/之类的内容。