2012-12-11 3 views
0

Salut im très nouveau à C# excuse donc mon code pour être partout.compter le nombre de lignes dans un fichier texte et les comparer à un compteur

Dans mon application j'ai utilisé le compteur pour compter mes instructions if, je veux maintenant trouver un fichier texte appelé la variable (date) choisie dans mon timepicker. Je veux maintenant compter le nombre de lignes dans ce fichier texte et ajouter ce nombre à ma variable de comptage et me dire si son moins de 13.

private void button1_Click(object sender, EventArgs e) 
    { 
      int TotalLines(string date) 
    { 
     using (StreamReader r = new StreamReader(date)) 
     { 
      int i = 0; 
      while (r.ReadLine() != null) { i++; } 
      return i; 
     } 
    } 

    if 
{ 
    i + counter = <13 
} 

    MessageBox.Show ("Seats Available"); 

    else 

    MessageBox.Show ("please chose another date"); 
    } 
} 

}

je viens posté ce segment de code comme tout le code dans le bouton est assez long car je suis sans doute allé le long chemin à ce sujet.

merci pour votre aide

+2

Veuillez formater un peu votre code. BTW: Dans le formulaire actuel, il y a beaucoup d'erreurs. – Link

+0

Où est la méthode TotalLines() que vous avez aussi le code doit être formaté votre instruction if est incorrecte aussi bien utiliser() Parenthèses à la place des accolades et après le if() entourer le bloc de code autour de {} if (i + counte <= 13) {} par exemple – MethodMan

Répondre

4

Voulez vous dire quelque chose comme ça?

private void button1_Click(object sender, EventArgs e) 
{ 
    int counter = TotalLines(date); 

    if (counter <= 13) 
    { 
     MessageBox.Show("Seats Available"); 
    } 
    else 
    { 
     MessageBox.Show("please chose another date"); 
    } 
} 

public int TotalLines(string date) 
{ 
    using (StreamReader r = new StreamReader(date)) 
    { 
     int i = 0; 
     while (r.ReadLine() != null) { i++; } 
     return i; 
    }  
} 
3

Le code de Kyle Uithoven semble être correct. Vous pouvez simplifier davantage en remplaçant la méthode TotalLines avec:

int counter = File.ReadLines(date).Count(); 
+0

C'est magnifique. Je ne savais pas que tu pouvais faire ça! Je dois passer plus de temps en utilisant File IO. –

+0

'Count()' est dans 'System.Linq' – McAden

+0

@McAden: Je suppose qu'il faisait référence à' File.ReadLines', ce qui évite d'avoir à utiliser explicitement 'FileStream'. – Douglas

0

C# if-else Syntaxe:

if (condition) 
{ 
    //Condition is true 
    //Some commands 
} 
else 
{ 
    //Condition is else 
    //Some commands  
} 

mieux définir la fonction TotalLines en dehors du button1_click un.

public int TotalLines(string date) 
{ 
    using (StreamReader r = new StreamReader(date)) 
    { 
     int i = 0; 
     while (r.ReadLine() != null) { i++; } 
     return i; 
    }  
} 
Questions connexes