Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
C#
Ez az oktatóanyag bemutatja, hogyan írhat olyan C#-kódot, amely megvizsgálja a változókat, és ezen változók alapján módosítja a végrehajtási útvonalat. C# kódot kell írnia, és látnia kell a fordítás és a futtatás eredményeit. Az oktatóanyag olyan leckéket tartalmaz, amelyek a C#-ban található elágaztatási és hurkozási szerkezeteket vizsgálják. Ezek a leckék a C# nyelv alapjait tanítják meg.
Jótanács
Ha egy kódrészletblokk tartalmazza a "Futtatás" gombot, az a gomb megnyitja az interaktív ablakot, vagy lecseréli a meglévő kódot az interaktív ablakban. Ha a kódrészlet nem tartalmaz "Futtatás" gombot, átmásolhatja a kódot, és hozzáadhatja az aktuális interaktív ablakhoz.
Futtassa az alábbi kódot az interaktív ablakban. Válassza a Futtatás lehetőséget:
int a = 5;
int b = 6;
if (a + b > 10)
Console.WriteLine("The answer is greater than 10.");
Módosítsa úgy a deklarációt b , hogy az összeg 10-nél kisebb legyen:
int b = 3;
Kattintson ismét a Futtatás gombra. Mivel a válasz kisebb, mint 10, semmi sem lesz kinyomtatva. A tesztelt feltétel hamis. Nincs végrehajtható kód, mert csak az egyik lehetséges ágat írta meg egy if utasításhoz: a valódi ágat.
Jótanács
A C# (vagy bármely programozási nyelv) felfedezése során hibákat követ el a kód írásakor. A fordító megkeresi ezeket a hibákat, és jelentést készít önnek. Ha a kimenet hibaüzeneteket tartalmaz, tekintse meg alaposan a példakódot és az interaktív ablakban található kódot, hogy lássa, mit kell kijavítani. Ez a gyakorlat segít a C#-kód szerkezetének megismerésében.
Ez az első minta a if és a logikai típusok erejét mutatja be. A logikai érték olyan változó, amely két érték egyikével rendelkezhet: true vagy false. A C# egy speciális típust határoz meg logikai bool változókhoz. Az if utasítás ellenőrzi egy bool értékét. Ha az érték true, akkor a if utáni utasítás végrehajtódik. Ellenkező esetben kihagyásra kerül.
A feltételek ellenőrzésének és az ezen feltételeken alapuló utasítások végrehajtásának folyamata hatékony. Vizsgáljuk meg többet.
Az if és else együttműködése
Ha a valódi és a hamis ágakban is különböző kódot szeretne végrehajtani, hozzon létre egy else ágat, amely akkor hajtja végre, ha a feltétel hamis. Próbálja ki a következő kódot:
int a = 5;
int b = 3;
if (a + b > 10)
Console.WriteLine("The answer is greater than 10");
else
Console.WriteLine("The answer is not greater than 10");
A kulcsszót else követő utasítás csak akkor fut, ha a tesztelt feltétel teljesül false. A if és else logikai feltételekkel való kombinálása minden szükséges képességet biztosít.
Fontos
A behúzás a if és else utasítások alatt az emberi olvasók számára készült. A C# nyelv nem tartja fontosnak a behúzást vagy a szóközt. A if vagy else kulcsszót követő utasítás a feltétel alapján hajtódik végre. Az oktatóanyagban szereplő összes minta egy általános gyakorlatot követ a sorok behúzására az utasítások vezérlőfolyamata alapján.
Mivel a behúzás nem jelentős, használja a { és } címkéket annak jelzésére, amikor több utasítást szeretne a feltételesen végrehajtandó blokk részeként megadni. A C#-programozók általában az összes if és else záradékban használják a kapcsos zárójeleket. Az alábbi példa megegyezik a létrehozott példával. Próbálja ki.
int a = 5;
int b = 3;
if (a + b > 10)
{
Console.WriteLine("The answer is greater than 10");
}
else
{
Console.WriteLine("The answer is not greater than 10");
}
Jótanács
Az oktatóanyag további részében a kódminták tartalmazzák a kapcsos zárójeleket, az elfogadott eljárásokat követve.
Bonyolultabb feltételeket is tesztelhet:
int a = 5;
int b = 3;
int c = 4;
if ((a + b + c > 10) && (a == b))
{
Console.WriteLine("The answer is greater than 10");
Console.WriteLine("And the first number is equal to the second");
}
else
{
Console.WriteLine("The answer is not greater than 10");
Console.WriteLine("Or the first number is not equal to the second");
}
A == szimbólum az egyenlőséget teszteli. A == használata megkülönbözteti az egyenlőségi tesztet a hozzárendeléstől, amelyet a(z) a = 5 során láthatott.
Az && "és" értéket jelöli. Ez azt jelenti, hogy mindkét feltételnek igaznak kell lennie az utasítás igaz ágban való végrehajtásához. Ezek a példák azt is mutatják, hogy minden feltételes ágban több utasítás is szerepelhet, feltéve, hogy { és } közé vannak zárva.
Az "vagy" jelölésére is használható || :
if ((a + b + c > 10) || (a == b))
Módosítsa a a, b és c értékeket, és váltson a && és || között a vizsgálat érdekében. Jobban megismerheti, hogy az && és a || operátorok hogyan működnek.
Hurkok használata műveletek ismétlésére
Egy másik fontos fogalom a nagyobb programok létrehozásához a hurkok. A ciklusokkal többször is megismételheti azokat az utasításokat, amelyeket többször szeretne végrehajtani. Próbálja ki ezt a kódot az interaktív ablakban:
int counter = 0;
while (counter < 10)
{
Console.WriteLine($"Hello World! The counter is {counter}");
counter++;
}
Az while utasítás ellenőrzi a feltételt, és végrehajtja a következő utasítást: while. Megismétli a feltétel ellenőrzését és az utasítások végrehajtását, amíg a feltétel nem hamis.
Ebben a példában van még egy új operátor. A ++ változó utáni counter a inkrementáló operátor. Hozzáad 1-et a számláló értékéhez, és ezt az értéket a számlálóváltozóban tárolja.
Fontos
Győződjön meg arról, hogy a while ciklusfeltétel hamisra vált a kód végrehajtása során. Ellenkező esetben végtelen hurkot hoz létre, amelyben a program soha nem ér véget. Ezt ne mutassuk be, mert a kódját futtató motor túllépi az időkorlátot, és nem jelenik meg a program kimenete.
A while ciklus a feltételt teszteli, mielőtt végrehajtja a while kódot. A do ... while ciklus először végrehajtja a kódot, majd ellenőrzi a feltételt. A következőképpen néz ki:
int counter = 0;
do
{
Console.WriteLine($"Hello World! The counter is {counter}");
counter++;
} while (counter < 10);
Ez do ciklus és a korábbi while ciklus ugyanúgy működik.
Térjünk át egy utolsó ciklusutasításra.
A for ciklussal való munka
Egy másik gyakori hurokutasítás, amelyet a C#-kódban lát, a for ciklus. Próbálja ki ezt a kódot az interaktív ablakban:
for (int counter = 0; counter < 10; counter++)
{
Console.WriteLine($"Hello World! The counter is {counter}");
}
Az előző for ciklus ugyanazt a munkát végzi, mint a while és a do ciklus, amelyeket már használt. Az for utasítás három részből áll, amelyek a működést szabályozzák:
- Az első rész a for inicializáló:
int counter = 0;meghatározza, hogycountera hurokváltozó, és beállítja a kezdeti értékét0-ra. - A középső rész a feltétel
counter < 10: deklarálja, hogy ez aforhurok továbbra is fut, amíg a számláló értéke kisebb, mint 10. - Az utolsó rész az iterátorhoz tartozik:
counter++meghatározza, hogyan módosíthatja a ciklusváltozót a blokk utasítást követőforvégrehajtása után. Itt azt határozza meg, hogycountera blokk minden egyes végrehajtásakor 1-zel nőjön.
Kísérletezzen ön is ezekkel a feltételekkel. Próbálkozzon az alábbi módosításokkal:
- Módosítsa az inicializálót úgy, hogy más értéken kezdődjön.
- Módosítsa a feltételt úgy, hogy egy másik értéknél megálljon.
Ha végzett, írjon magad néhány kódsort, hogy felhasználja a tanultakat.
Van egy másik, az oktatóanyagban nem szereplő ciklusutasítási utasítás: az foreach utasítás. Az foreach utasítás megismétli az utasítást az elemek sorozatának minden elemére vonatkozóan. Leggyakrabban gyűjteményekhez használják. Ezt a következő oktatóanyag ismerteti.
Beágyazott hurkok létrehozása
A while, dovagy for hurok beágyazható egy másik hurokba, hogy mátrixot hozzon létre a külső hurok egyes elemeinek és a belső hurok egyes elemeinek kombinációjával. Hozzunk létre egy alfanumerikus párokat, amelyek a sorokat és az oszlopokat jelölik.
Egy for hurok hozhatja létre a sorokat:
for (int row = 1; row < 11; row++)
{
Console.WriteLine($"The row is {row}");
}
Egy másik hurok létrehozhatja az oszlopokat:
for (char column = 'a'; column < 'k'; column++)
{
Console.WriteLine($"The column is {column}");
}
Az egyik hurkot beágyazhatja a másikba párok létrehozásához:
for (int row = 1; row < 11; row++)
{
for (char column = 'a'; column < 'k'; column++)
{
Console.WriteLine($"The cell is ({row}, {column})");
}
}
Láthatja, hogy a külső hurok a belső hurok minden teljes futása után egyet növekszik. Fordítsd meg a sor- és oszlopbeágyazást, és nézd meg a változásokat magad.
Ágak és hurkok egyesítése
Most, hogy látta az if utasítást és a ciklusszerkezeteket a C# nyelvben, ellenőrizze, hogy tud-e C#-kódot írni az 1 és 20 között osztható összes egész szám összegének 3-tal való megtalálásához. Íme néhány tipp:
- Az
%operátor egy osztási művelet hátralévő részét adja meg. - Az
ifutasítás azt a feltételt adja meg, hogy egy szám legyen-e része az összegnek. - A
forhurok segítségével több lépést is megismételhet az 1–20- os számok esetében.
Próbálja ki saját maga. Ezután ellenőrizze, hogyan tette. Tippként 63-at kell kapnia a válaszhoz.
Előjött valami ilyesmi?
int sum = 0;
for (int number = 1; number < 21; number++)
{
if (number % 3 == 0)
{
sum = sum + number;
}
}
Console.WriteLine($"The sum is {sum}");
Elvégezte az "ágak és hurkok" interaktív oktatóanyagot. A listagyűjtemény hivatkozására kattintva elindíthatja a következő interaktív oktatóanyagot, vagy a .NET webhelyre látogatva letöltheti a .NET SDK-t, létrehozhat egy projektet a gépén, és tovább kódolódhat. A "Következő lépések" szakaszban visszatérhet ezekhez az oktatóanyagokhoz.
Ezekről a fogalmakról az alábbi cikkekben tudhat meg többet: