Bonjour, j'ai un petit soucis avec mon code (je suis débutant).
Il faut que j'apprenne à utiliser les classe et les list<T> et donc j'ai commencé un logiciel qui va lire un fichier ligne par ligne voir si un mot spéciale est dans cette ligne (ici "test") si oui fait un substract de cette ligne pour récupérer un identifiant, puis incrémente un chiffre à chaque fois qu'il trouve deux fois le même identifiant.
Et donc j'ai fait une fonction lecture, une fonction écriture et un class supplémentaire pour créer mes objets.
Maintenant j'ai deux problèmes, quand je donne pID et pNumberOfLine comme argument à ma fonction écrire, je me retrouve avec un erreur dans mon main :
Et si je ne mets pas d'argument la le problème vient de ma fonction écriture qui ne trouve pas pID et pNumberOfLine.No overload for method 'Ecriture' takes '0' arguments
Je vous met le code ci dessous
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68 using System; using System.IO; using System.Collections.Generic; class Programme { static List<Toto> pTotoList; static void Main(string[] args) { pTotoList = new List<Toto>(); Lecture(); Ecriture(); } static void Lecture () { TextReader reader; string fichier = "test2.txt"; int longMini = 320; reader = new StreamReader(fichier); string line = reader.ReadLine(); int longueur = line.Length; bool b1 = (longMini < longueur); bool b2 = (line.Contains("test")); while(true) if (line == null) { break; } else { if (b1 && b2) { string ID = line.Substring(325, 14); Toto _Toto = new Toto(ID); pTotoList.Add(_Toto); for (int i = 0; i < pTotoList.Count ; i++) { if(TotoList[i].GetID() == ID) { TotoList[i].AddOneLine(); return; } } } } } static void Ecriture (int pNumberOfLine, string pID ) { foreach (Toto _Toto in pTotoList) { TextWriter writer; string filename = "testresult.txt"; writer = File.AppendText(filename); writer.Write("" +pID + " " +pNumberOfLine); writer.Close(); } } }
Ma class
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 class Toto { private string pID; private int pNumberOfLine; public Toto (string ID) { pID = ID; pNumberOfLine = 1; } public string GetID() { return pID; } public int AddOneLine() { pNumberOfLine++; return pNumberOfLine; } }
Maintenant je n'ai aps pu debbuger mes fonctions, l'histoire de test et d'incrémentation ne marche peut être pas mais je compte bien réfléchir seul dessus.
Cependant ce soucis avec les fonctions je n'arrive pas à m'en sortir... Un coup de main ou un lien vers un article me serait d'une grande aide.
Par avance merci !
Partager