读取文本文件并写入列表

Jt2*_*uan 1 c# linq parsing split

他们是一种在一起分割多个地方的文本文件并保存到列表的方法吗?

我能够在一个地方进行拆分并写入如下列表:

var incomplete = File
            .ReadAllLines(path)
            .Select(a => a.Split(new[] { '|' }, StringSplitOptions.None)[5].Trim())
            .ToList();
Run Code Online (Sandbox Code Playgroud)

我想分成四个位置,然后写入列表.

var mnbrs = File
            .ReadAllLines(path)
            .Select(a => a.Split('|')[2].Trim())
            .Select(b => b.Split('|')[5].Trim())
            .Select(c => c.Split('|')[6].Trim())
            .Select(d => d.Split('|')[11].Trim())
            .ToList();
Run Code Online (Sandbox Code Playgroud)

这给了我错误索引超出了数组的范围.

任何帮助表示赞赏.我也可以以不同的方式分割和阅读文件.我只是想避免读取文件拆分一次然后列出然后读取agian并再次拆分并执行四次.

mel*_*okb 6

你想分两步完成.先拆分,然后选择各列:

File
    .ReadAllLines(path)
    .Select(a => a.Split(new[] { '|' }, StringSplitOptions.None))
    .Select(a => new {
        Column1 = a[2].Trim(),
        Column2 = a[5].Trim(),
        Column3 = a[6].Trim(),
        Column4 = a[11].Trim()
    })
    .ToList();
Run Code Online (Sandbox Code Playgroud)

演示:http://ideone.com/aNyNT5