Permalänk
Medlem

C# Måsvingar "{}"

Jag håller på att lära mig C# men något jag fastnatt på som jag inte hittar i någon guide är hur fungerar Måsvingar "{"?
Alltså när ska man ha dem och hur ska man tänka när man använder dem fattar ingenting står bara skriv koder där och där sen blir det error på alla "{"?????

Kan någon vara snäll att förklara detta/skicka nån guide som förklarar det?

Tack i förhand

Permalänk

http://csharpskolan.se/showcats.php

Där under grunder har du där du kan läsa.

Permalänk
Medlem

Du ska ha måsvingar vid alla klasser, funktioner och satser. De visar i stort sett var det ena börjar och slutar.

så om du skriver en if-sats ser den ut nått typ

if(x==a){//här börjar satsen

*några uttryck eller saker som ska ske*

//sedan visar vi med } att vår if sats är slut och nått nytt händer i koden.
};

Om du vet alla ställena du ska ha måsvingar gäller det bara noggrant "balansera" dem, ska finnas lika många { som }.

Visa signatur

Neon
Citera mig om du vill ha svar!

Permalänk
Medlem

alla block har måsvingar: ett block kan vara t.ex klasser, metoder, if, else, for, och så vidare

Permalänk
Medlem
Skrivet av Neonxz:

Du ska ha måsvingar vid alla klasser, funktioner och satser. De visar i stort sett var det ena börjar och slutar.

så om du skriver en if-sats ser den ut nått typ

if(x==a){//här börjar satsen

*några uttryck eller saker som ska ske*

//sedan visar vi med } att vår if sats är slut och nått nytt händer i koden.
};

Om du vet alla ställena du ska ha måsvingar gäller det bara noggrant "balansera" dem, ska finnas lika många { som }.

Tack men du gör det något ifall man har för många { och } ?

Permalänk
Skrivet av Palm123:

Tack men du gör det något ifall man har för många { och } ?

Jag tycker att du ska läsa någon nybörjarguide. Om du har problem med måsvingarna kommer du stöta på patrull väldigt snart igen, så det är lika bra att börja från början i någon bok, eller guide.

Permalänk
Medlem
Skrivet av Palm123:

Tack men du gör det något ifall man har för många { och } ?

Vet inte, men lär dig programmera rätt. Då ska det vara lika många av varje och inte fler än nödvändigt. Hur ser din testkod du programmerar/använder ut?

Visa signatur

Neon
Citera mig om du vill ha svar!

Permalänk
Medlem

Ja det spelar roll, varje metodkropp och klass ska vara inkapslade i { } så att det går att veta vart det börjar och slutar. Skriver du en metod börjar metoden vid { och slutar vid } likaså med klasser.

*edit*
för att förtydliga, varje metod och klass ska börja med { och sluta med } inte fler och inte färre då får du fel i koden.

Permalänk
Medlem
Skrivet av gvil:

Ja det spelar roll, varje metodkropp och klass ska vara inkapslade i { } så att det går att veta vart det börjar och slutar. Skriver du en metod börjar metoden vid { och slutar vid } likaså med klasser.

*edit*
för att förtydliga, varje metod och klass ska börja med { och sluta med } inte fler och inte färre då får du fel i koden.

Måsvingar definierar block och kan skapas godtyckligt, så länge de stängs ordentligt. I exemplet nedan kan man exempelvis kommentera ut if-delen om man tillfälligt vill testa hur blocket fungerar villkorslöst.

// if (number == 42) { fancyMagic(); }

Ett block är ett block är ett block och fungerar precis som man förväntar sig att ett block ska fungera; dvs variabler deklarerade inuti går inte att komma åt utifrån:

int a = 5; int b = 8; { int c = a * b; } Console.WriteLine(c); // <== kompilerar inte: variabel 'c' är inte i "scope".

I regel bör man undvika att skapa block om de inte fyller en tydlig funktion — som i fallet med if, while, metod- och klassdefinitioner och liknande — men det är helt tillåtet. Man kan dock inte skapa ett block utanför en metod i C# (men det går i Java).

Visa signatur

Kom-pa-TI-bilitet