2010-11-24 9 views
2

J'ai une question concernant la séquence de lecture d'un tableau qui est converti à partir d'un fichier journal de texte. Comme il y a des entêtes de fichier que je n'ai pas besoin d'être lus pendant un processus situé dans les premières lignes [0] existe-t-il des méthodes pour sauter les lignes [0] et commencer à lire les lignes [1]?C# Comment lire le tableau [1] en premier au lieu du tableau [0] en utilisant la boucle foreach?

Le programme utilise une boucle foreach pour lire le tableau. Et il existe une méthode de tokenisation donc la boucle foreach est nécessaire pour que la tokenisation recorgne le format String du tableau.

S'il vous plaît faire de l'aide en fournissant des conseils sur les codes! Merci!

Les codes de programme:

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

Si vous avez besoin du fichier texte du journal est ici un exemple:

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 

Répondre

6

Utilisez la méthode d'extension Skip. Par exemple.

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

Si vous voulez examiner les lignes au lieu de compter sur le compte, vous pouvez utiliser SkipWhile. Par exemple.

foreach (String r in lines.SkipWhile(l => l.StartsWith(HeaderInfo)) 
{ 
    String[] token = r.Split(','); 
} 
+0

Omg génial! Merci mec! – JavaNoob

3

Utilisation .Skip:

foreach (String r in lines.Skip(1))