Hjälp med att förstå kod C#

Permalänk

Hjälp med att förstå kod C#

Hej skulle behöva hjälp med att förstå koden. Uppgiften är från en exempel tenta, alltså ingen uppgift jag ska lämna in.

Varför får boll.Y värdet 50? i button1 utskriften ?
Varför får a värdet 30 och värdet och boll.y värdet 50 i metoden Beräknasumman?

private void button1_Click(object sender, EventArgs e) { int summa, differens; Boll boll = new Boll(); boll.X = 15; boll.Y = 20; summa = 0; differens = 0; summa = BeräknaSumma(boll.X, boll); textBox2.Text = "Huvudprogram " + Convert.ToString(boll.X) + " + " + Convert.ToString(boll.Y) + " = " + Convert.ToString(summa); } private int BeräknaSumma(int a, Boll boll) { int s; a = a + 15; boll.Y = boll.Y + 30; s = a + boll.Y; textBox1.Text = "Metod BeräknaSumma " + Convert.ToString(a) + " + " + Convert.ToString(boll.Y) + " = " + Convert.ToString(s); return s; } public class Boll { int x, y; public int X { get { return x; } set { x = value; } } public int Y { get { return y; } set { y = value; } } }

Visa signatur

i5 6700K @4.5GHz -Noctua NH-U14S -Asus Geforce GTX 980 Ti Strix DirectCU III -ASUS PRO GAMING Z170 -Crucial DDR4 16 GB -Crucial MX300 750GB -Corsair RM750i - NZXT H440W Silent Ultra - ASUS VC239 -Dell Professional P1914S IPS

Permalänk
Medlem

Okej då ska vi se.
Boll.x får i start 15
Boll.y får i start 20

Du skickar in x och boll till funktionen.
a är då 15 från start (Genom att du skickar in boll.x som är 15)
a = a + 15; 15+15= 30

Boll.y = 20 från start + 30 = 50

Hänger du med?

Visa signatur

Corsair 16GB (4x4096MB) CL9 1600Mhz | Asus P8Z77-V PRO |
Samsung SSD Basic 830-Series 256GB | Intel Core i7 3770K 3,5Ghz |
Asus Xonar Essence STX | Noctua NH-U9B SE2 | Antec Performance One P280 | Corsair HX 850W 80+ Gold Modulär | MSI GTX 770

Permalänk
Skrivet av NoPaiN^:

Okej då ska vi se.
Boll.x får i start 15
Boll.y får i start 20

Du skickar in x och boll till funktionen.
a är då 15 från start (Genom att du skickar in boll.x som är 15)
a = a + 15; 15+15= 30

Boll.y = 20 från start + 30 = 50

Hänger du med?

Tack för att du tar dig tid att hjälpa mig men jag förstår fortfarande inte riktigt.
summa = BeräknaSumma(boll.X, boll);
Vad får boll sitt värde ifrån? Är boll = boll Y?

Visa signatur

i5 6700K @4.5GHz -Noctua NH-U14S -Asus Geforce GTX 980 Ti Strix DirectCU III -ASUS PRO GAMING Z170 -Crucial DDR4 16 GB -Crucial MX300 750GB -Corsair RM750i - NZXT H440W Silent Ultra - ASUS VC239 -Dell Professional P1914S IPS

Permalänk
Medlem
Skrivet av Rickybobby:

Tack för att du tar dig tid att hjälpa mig men jag förstår fortfarande inte riktigt.
summa = BeräknaSumma(boll.X, boll);
Vad får boll sitt värde ifrån? Är boll = boll Y?

boll är Boll. boll.Y är 50. Notera vikten av liten gentemot stor bokstav.

Visa signatur

Kom-pa-TI-bilitet

Permalänk
Skrivet av Teknocide:

boll är Boll. boll.Y är 50. Notera vikten av liten gentemot stor bokstav.

Okej tror jag förstår, värdet från boll.y från BeräknaSumma adderas med boll.y från buttonclick
efter vi anropat metoden.

Visa signatur

i5 6700K @4.5GHz -Noctua NH-U14S -Asus Geforce GTX 980 Ti Strix DirectCU III -ASUS PRO GAMING Z170 -Crucial DDR4 16 GB -Crucial MX300 750GB -Corsair RM750i - NZXT H440W Silent Ultra - ASUS VC239 -Dell Professional P1914S IPS

Permalänk

private void button1_Click(object sender, EventArgs e) { int summa, differens; //deklaration Boll boll = new Boll(); //deklaration och initiering boll.X = 15; //tilldelning boll.Y = 20; //tilldelning summa = 0; //initiering differens = 0; //initiering summa = BeräknaSumma(boll.X, boll); //Funktionen BeräknaSumma körs med boll.X och boll som input variabler textBox2.Text = "Huvudprogram " + Convert.ToString(boll.X) + " + " + Convert.ToString(boll.Y) + " = " + Convert.ToString(summa); //tilldelning utav string till en icke deklarerad variabel } private int BeräknaSumma(int a, Boll boll) { int s; //deklaration a = a + 15; //a ökas med värdet 15 boll.Y = boll.Y + 30; //boll.Y ökas med 30 s = a + boll.Y; //s tilldelas en summa textBox1.Text = "Metod BeräknaSumma " + Convert.ToString(a) + " + " + Convert.ToString(boll.Y) + " = " + Convert.ToString(s); //tilldelning utav string till en icke deklarerad variabel return s; //returnerar s } public class Boll { int x, y; public int X { get { return x; } set { x = value; } } public int Y { get { return y; } set { y = value; } } }