Bonjour,
j'ai un problème de portée de mes variables, je m'explique;
j'ai un programme qui traite un fichier ligne par ligne et j'aimerai qu'à la fin du traitement il appelle une autre fonction qui va prendre en paramettre le fichier traité (dans un string); donc voila mon code:
J'ai une erreur du type:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 static void fonction1(files) { string sCra; foreach (string filename in files) { StreamReader sR = new StreamReader(filename); Regex r = new Regex(@"\[([^:]+).*"); string line; while ((line = sR.ReadLine()) != null) { if (line.Contains("grep")) { string[] _split = line.Split(' '); sCra = _split[4]; if (r.IsMatch(sCra)) { string grp = r.Match(sCra).Groups[1].Value; sCra = grp; } sCra += "\t"+ _split[9]; } } } fonction2(sCra); }j'ai essayé plusieurs trucs sans succès. ce que je ne comprend pas:utilisation variable sCra non assignée.
1. ma variable est déclarée au niveau de la fonction donc devrait être utilisable partout au sein de la fonction.
2. quand j'appelle ma variable juste après(pour un affichage en console) cela marche bien sauf que si j'appelle ma fonction2 à cet endroit, je risque de faire un appel à chaque itération (chaque traitement de ligne).
Code : Sélectionner tout - Visualiser dans une fenêtre à part sCra += "\t"+ _split[9];
merci pour vos réponses.
Partager