Как читать сначала из массива [1] вместо массива [0], используя цикл foreach? - PullRequest
2 голосов
/ 24 ноября 2010

У меня есть вопрос относительно последовательности чтения массива, который конвертируется из файла текстового журнала.

Поскольку есть заголовки файлов, которые мне не нужно читать во время процесса, расположенного в первых строках [0], есть ли способы пропустить чтение строк [0] и начать чтение строк [1] ​​первым?

Программа использует цикл 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(',');
        }
    }
}

Если вам нужен текстовый файл журнала, вот пример:

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

Ответы [ 2 ]

6 голосов
/ 24 ноября 2010

Используйте метод расширения Skip . Э.Г.

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

Если вы хотите исследовать строки, а не полагаться на количество, вы можете использовать SkipWhile . Э.Г.

foreach (String r in lines.SkipWhile(l => l.StartsWith(HeaderInfo)) 
{
   String[] token = r.Split(',');
}
3 голосов
/ 24 ноября 2010

Использование .Skip:

foreach (String r in lines.Skip(1))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...