C#-utasítások

Jótanács

Ez a cikk az Alapismeretek szakasz része azon fejlesztők számára, akik már legalább egy programozási nyelvet ismernek, és c#-t tanulnak. Ha még csak most ismerkedik a programozással, először az Első lépések oktatóanyagokkal kezdje. A teljes utasításszintaxisért tekintse meg a C# nyelv specifikációjában szereplő Utasítások című témakört .

Más nyelvről jön? A deklarációk, a feltételek, a ciklusok és a visszatérések ismerősek lehetnek. A C# saját szintaxist és besorolást használ ezekhez a funkciókhoz, amelyeket ez a cikk mutat be.

Az utasítás egy teljes parancs: "csináld ezt". A program utasításai együtt alkotnak egy receptet, amelyet a program az elejétől a végéig követ. A legtöbb utasítás egymás után fut. Az ágak kiválasztják a futtatandó lépéseket, és a hurkok megismétlik a lépéseket.

Ez a példa deklarál egy mennyiséget, megjeleníti azt, majd egy if utasítással dönti el, hogy a következőt szeretné-e újra beszedni:

int quantity = 5;
Console.WriteLine($"Quantity: {quantity}"); // => Quantity: 5

if (quantity < 10)
{
    quantity = 10;
    Console.WriteLine("Restocked"); // => Restocked
}

Console.WriteLine($"Quantity: {quantity}"); // => Quantity: 10

Olvassa el a példát teljes parancsként, mielőtt megnézi a részeit. A deklaráció, az első hívás Console.WriteLine, a teljes if szerkezet és a végső hívás Console.WriteLine utasítások. Az utasításban lévő if blokk további két utasítást tartalmaz.

Az utasítások gyakran tartalmaznak kifejezéseket

Az utasítások gyakran tartalmaznak kifejezéseket, amelyek értékek előállítására szolgáló kódrészletek. Az előző példában a teljes if szerkezet egy utasítás. A feltétele, quantity < 10, egy olyan kifejezés, amely vagy true, vagy false értéket eredményez.

A deklarációs utasítás helyi változót vagy állandót vezet be. Az inicializáló kifejezések az első értéket adhatják meg:

int quantity = 5;

A teljes sor egy deklarációs utasítás. Az inicializáló 5 egy kifejezés az adott utasításon belül.

A hozzárendelési kifejezések egy értéket változóban, tulajdonságban, indexelőben vagy más tárolási helyen tárolnak. A C# lehetővé teszi, hogy egy hozzárendelési kifejezés kifejezési utasítást alakítson ki:

quantity = 10;

Ez az utasítás egy műveletet hajt végre, nem csupán egy érték kiszámítását. A metódushívások és a növekményes műveletek más gyakori kifejezési utasítások:

Console.WriteLine("Restocking");
quantity++;

Csak a következő kifejezésformák lehetnek kifejezésutasítások:

  • Hozzárendelési kifejezések
  • Metódushívási kifejezések
  • Objektumlétrehozó kifejezések
  • Előtagos vagy utótagos növelő és csökkentő kifejezések
  • await Kifejezések

Nem minden kifejezés állhat meg önálló kijelentésként. Például a(z) quantity + 1; kiszámít egy értéket, de nem használja. Ez nem érvényes állítás.

Íme egy hasznos munkadefiníció: az utasítás nagyjából olyan, mint egy teljes mondat angolul, míg a kifejezés olyan, mint egy kifejezés. Ez a megkülönböztetés segít megérteni a formális terminológiát és magyarázatokat, amelyekkel a dokumentációban és a specifikációkban találkozhat, bár a szokásos kódolás ritkán igényli, hogy tudatosan emlékezzen a megkülönböztetésre.

Csoportosítási utasítások blokkokban

A blokk nulla vagy több utasítást csoportosít a kapcsos zárójelek ({ és }) között. A C# egyetlen utasításként kezeli a csoportot. A nyitó példában az if utasítás futtathatja a hozzárendelést és a hívást Console.WriteLine is, mert egy blokk egy törzsbe csoportosítja őket. A blokkok más blokkokban is beágyazhatók.

A választó- és iterációs utasítások törzsét beágyazott utasításnak nevezik. Ez a szövegtörzs lehet egy kapcsos zárójel nélküli utasítás, vagy egy blokk, amely több utasítást csoportosít.

Előnyben részesítse a blokkot akkor is, ha egy törzs csak egy utasítást tartalmaz. A kapcsos zárójelek megmutatják, mely utasítások tartoznak a blokkhoz, és megakadályozzák, hogy a későbbi módosítások véletlenül egy utasítást a blokkon kívülre helyezzenek.

Blokkok definiálják a változó hatókörét

A blokkokban deklarált változók hatóköre a deklarációtól a blokk végéig terjed. A beágyazott blokkok használhatják a beágyazott blokkok által deklarált változókat, de a beágyazási blokk nem használhat csak a beágyazott blokkban deklarált változókat:

int outerValue = 10;

if (outerValue > 0)
{
    int innerValue = outerValue * 2;
    Console.WriteLine(innerValue); // => 20
}

// innerValue isn't in scope here.

Válasszon egy állítást a feladathoz

Miután felismerte az utasításokat parancsként, a különböző típusúak közül választhat a cél alapján:

  • Adatok deklarálása:A deklarációs utasítások helyi változókat és állandókat vezetnek be.
  • Műveletek végrehajtása: A kifejezési utasítások értékeket rendelnek hozzá, metódusokat hívnak meg, objektumokat hoznak létre, növekményes vagy csökkenő értékeket hoznak létre, vagy aszinkron műveleteket várnak.
  • Válassza ki a lépéseket:Kiválasztási utasítások, például if és switch, válassza ki, hogy melyik kód fut.
  • Ismételje meg a lépéseket:Iterációs utasítások, például foreachegy whileutasítás vagy forblokk ismétlése.
  • Vezérlésátadás:Ugrási utasítások, például break, continue, return és yield, a végrehajtást a program egy másik pontjára irányítják.
  • Kivételek kezelése:Kivételkezelési utasítások, például try, catch és throw, a hibák kezelésére vagy jelentésére szolgálnak.
  • Erőforrások kezelése: Az using utasítás biztosítja az erőforrások ártalmatlanítását.
  • Speciális viselkedés használata: Az checked és unchecked, fixedés lock az utasítások konkrét forgatókönyveket támogatnak.

C# nyelvspecifikáció

További információkért tekintse meg a C#-nyelv specifikációjánakUtasítások szakaszát.

Lásd még