C#如何使用foreach循环首先从数组[1]读取而不是数组[0]?

Jav*_*oob 2 c# arrays foreach

我有一个关于从文本日志文件转换的数组的读取序列的问题.

由于在第一行[0]中的过程中我不需要读取文件头,是否有任何方法可以跳过读取行[0]并首先开始读取行[1]?

该程序利用foreach循环读取数组.并且有一种标记化方法,因此标记化需要foreach循环来重新调整数组的String格式.

请通过建议代码帮助!谢谢!

程序代码:

class Program
{
    static void Main(string[] args)
    {
        System.Collections.Generic.IEnumerable<String> lines = File.ReadLines("C:\\syscrawl\\ntfs3.txt");

        foreach (String r in lines) //Start reading from lines[1] first instead?
        {
            String[] token = r.Split(',');
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

如果你需要日志文本文件,这里是一个例子:

Date,Size,Type,Mode,UID,GID,Meta,File Name // Lines[0]
Sun Jul 22 2001 02:37:46,73882,...b,r/rrwxrwxrwx,0,0,516-128-3,C:/WINDOWS/Help/digiras.chm // Lines [1]
Sun Jul 22 2001 02:44:18,10483,...b,r/rrwxrwxrwx,0,0,480-128-3,C:/WINDOWS/Help/cyycoins.chm
Sun Jul 22 2001 02:45:32,10743,...b,r/rrwxrwxrwx,0,0,482-128-3,C:/WINDOWS/Help/cyzcoins.chm
Sun Jul 22 2001 04:26:14,174020,...b,r/rrwxrwxrwx,0,0,798-128-3,C:/WINDOWS/system32/spool/drivers/color/kodak_dc.icm
Run Code Online (Sandbox Code Playgroud)

Bri*_*sen 6

使用跳过扩展方法.例如

foreach (String r in lines.Skip(1)) //Start reading from lines[1] first instead
{
   String[] token = r.Split(',');
}
Run Code Online (Sandbox Code Playgroud)

如果要检查行而不是依赖计数,可以使用SkipWhile.例如

foreach (String r in lines.SkipWhile(l => l.StartsWith(HeaderInfo)) 
{
   String[] token = r.Split(',');
}
Run Code Online (Sandbox Code Playgroud)