2010-11-24 5 views
2

텍스트 로그 파일에서 변환되는 배열의 읽기 순서와 관련하여 질문이 있습니다.C# foreach 루프를 사용하여 배열 [0] 대신 배열 [1]을 처음 읽는 방법?

첫 번째 줄 [0]에있는 프로세스 중에 읽을 필요가없는 파일 헤더가 있기 때문에 [0] 줄을 건너 뛰고 먼저 [1] 줄을 읽는 방법이 있습니까?

이 프로그램은 foreach 루프를 사용하여 배열을 읽습니다. 그리고 토큰 화 방법이 있으므로 토큰 화가 배열의 문자열 형식을 recorgnize하기 위해 foreach 루프가 필요합니다.

코드에 대한 조언을 구하십시오! 감사!

프로그램 코드 :

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 

답변

6

사용 Skip 확장 방법 :

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(','); 
     } 
    } 
} 

경우 당신은 로그 텍스트 파일이 여기에 예제가 필요합니다. 예 : 대신 개수에 의존 라인을 검사 할 경우

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(','); 
} 
+0

OMG 최고! 고마워 친구! – JavaNoob

3

사용 .Skip :

foreach (String r in lines.Skip(1)) 
관련 문제