Datatyper i metoder?

Tags:    c#

<< < 12 > >>
Hej

Jeg har en Main metode hvor jeg udskriver resultatet af min metode 1 og min metode 2.

Nu vil jeg oprette en metode 3 hvor jeg kombinerer resultatet fra metode 1 og metode 2, og udskriver det i Main metoden.

Problemet er så hvordan jeg kan bruge mine datatyper int enh fra metode 1 og int ind fra metode 2 i metode 3.

I metode 3 vil jeg gerne lave regnestykket int gen = enh + ind

ER NYBEGYNDER til C#.

Kan ikke poste metoderne ind her da der er ret lange. Alt virker fint, udover at jeg ikke kan bruge mine to datatyper fra metode 1 og 2 i metode 3.



Du kunne lave en metode som så sådan ud

testMetode(int result1, int result2)
{
int result = result1 + result2;
return result;
}



Du kunne lave en metode som så sådan ud

testMetode(int result1, int result2)
{
int result = result1 + result2;
return result;
}


Men når jeg så skriver i min Main metode at den skal udskrive testMetode

Public void Main()

testMetode();

Kommer følgende fejl: No overload for method "testMetode" takes "0" arguments.



Nu koder jeg ikke selv C#, men den kode Martin skrev laver en funktion som tager 2 argumenter, og du kalder den med ingen argumenter - derfor får du fejlen.



Nu koder jeg ikke selv C#, men den kode Martin skrev laver en funktion som tager 2 argumenter, og du kalder den med ingen argumenter - derfor får du fejlen.


Korrekt. Jeg undskylder lige for at jeg ikke fik skrevet på at når den skal køres så skal du huske at give nogle argumenter med.



Hmm... kan ikke få det til at virke. Hvilke argumneter skulle jeg sætte ind ...

Jeg kender jo KUN de to resultater og kan ikke sætte dem ind, få fejl. Som sagt er nybegynder så kan være jeg ikke aner hvad argumenter helt er, men mener at jeg nogenlunde ved det.

static void Main()
{

Metode1();
Metode2();
Metode3(); <-- er denne der giver fejl.
}

public void Metode3(int resultat1, int resultat2)
{
int resultat3 = resultat1+resultat2;
Console.WriteLine("Det samlede resultat er: {0} ",resultat3);

}

Sådan ser min metode3 ud, hvilke argumenter burde sættes ind i Metode3(); under Main???

Kan ikke se mig ud af det.




Retunerer din Metode 1 ikke noget eller skriver den kun noget ud?



For at kunne bruge resultatet af en funktion skal du lave det så pågældende funktion returnerer resultatet. Hvis Metode1 blot udskriver noget og ikke returnerer det så kan du jo ikke bruge det i videre beregninger, som f.eks. i Metode3.

Metode3 skal endviere kaldes med to argumenter, nemlig de to heltal resultat1 og resultat2. I Main kalder du den blot uden nogle argumenter, og hvordan skal den så vide hvad den skal lægge sammen?



Argh hvor er det forvirrende.

Okay har fundet ud af at mine metoder returnerede void, dvs intet. Har sat dem til at returnerer int.

Men forstår stadig ikke hvad der menes med argumenter. Jeg kan ikke skrive selve af tallene ind som argumenter af resultat1 og resultat2, da det ikke er meningen at man skal kende tallene, de varirrer alt efter hvilke tekstfiler der indlæses. Så mit spørgsmål må være nu, skal kalde både metode 3 og Main metode med to argumenter, og hvilke :D?

Har bogen Learning C#, men svært at finde det i den da jeg ikke ved hvad jeg skal kigge efter.



Retunerer din Metode 1 ikke noget eller skriver den kun noget ud?


Mine metoder var af public void Metode1 ... typen. Har lavet dem om til public int så de returnerer et heltal.





Ja, så kan du bruge følgende

int result1 = metode1();
int result2 = metode2();

metode3(result1,result2);



<< < 12 > >>
t