C# alapok

10évf_c# C# programozás
csharp0

Nyissuk meg a visual studiot és hozzunk létre egy új projektet, a Visual C# fülnél a Console Application-t válasszuk, adjunk neki nevet és helyet! Az első sorba/sorokba  kerül az egyes modulok közti hivatkozás, ezzel gyakorlatilag „lerövidíthetjük” a  programkód írását. Használata: using modul; Pl.: using System; Ezzel beemeltük a System osztályt, ami később kell nekünk. A következő a névtér létrehozása, ez nem muszáj, de használjuk azért! A névtér (namespace) az a logikai egység, melyben az azonosítónak egyedinek kell lennie a többi névtértől. Ezután következik egy tetszőleges nevű osztály/ok (class), amelynek egyikében kell lennie egy Main függvénynek.

A mainnen belül jöhet a (System).Console.Write(„Hello World”); ebben az esetben nem kell a System, mert már usingoltuk. kiíratás után használjuk a Console.ReadKey(); ami egy darab billentyűre lenyomására vár. E nélkül egyből véget érne a program, nem is látnánk a kiírást. Tehát első programunk:

  • szám típusok: egész (sbyte, byte, short, ushort, int, uint, long, ulong) illetve a valós
  • lebegőpontos számok (float, double, decimal). Az s-signed előjeles az u-unsigned előjeltelent jelöli, így például a sbyte (signed byte-előjeles byte) képes negatív számok tárolására is.
  • Logikai típus: bool (true-igaz, false-hamis)
  • Karakteres típus: char-karakter, string-karakterlánc
    Fontos: ez nem az összes típust tartalmazza, ezek az alapvető típusok, ezeken kívül vannak osztályok, konstruktorok, objektumok, struktúrák, listák, tömbök…!
csharp1

Néhány egyszerű példa:

int a = 7; //változó létrehozása, értékadás

int b = 3; //változó létrehozása, értékadás
//a c változóba lesz eltárolva a + b eredménye
int c = a + b;
int aszorb = a * b; //21
//a b változót egyenlővé tesszük b + 3, tehát növeljük a b értékét 3-mal
b = b + 3; //ugyan azt az eredményt kapjuk, csak rövidítve
b += 3; //Például az alábbi képlet megegyezik:
a -= 2;
a = a – 2; //<–ezzel
//stringek összeadása/összefűzése
string str1 = „alma”;
string str2 = „fa”;
string ossz = str1 + str2; //az eredmény: almafa
int a = 2, b = 4, c; //több változó létrehozása egy sorban

Változó értékének kiíratása:

int eredmeny = 2;
Console.WriteLine(„Az eredmény ” + eredmeny + ” lett.”);

Helyörző használata:

Helyörző használatával is megadhatjuk a változók kiírásának helyét. A helyörzők számozása is 0-val kezdődik
Console
.WriteLine(„Az eredmény  {0}  lett.” , eredmeny);

Az újabb módszer: $ használata:

Adatbekérés a konzolról
Console.ReadLine(), konvertálás, vagy amit már néztünk: Console.ReadKey() 

a ReadLine() enter lenyomásra vár és az enter lenyomása után beolvassa a beírt szöveget, ezért stringet ad vissza, viszont ha valamilyen matematikai műveletet szeretnénk rajta elvégezni, akkor szintaktikailag hibás lesz. Ennek elkerülése
érdekében át kell alakítani szám típussá a string-et!

string beker = Console.ReadLine();//szöveg bekérése és eltárolása a beker változóban

int szam1 = int.Parse(beker); //változó = típus.Parse(string típus)
int szam2 = Convert.ToInt32(beker); //változó = Convert.To+típus+(valamilyen típus)

Lehet egy lépésben is: int bekertszam2 = Convert.ToInt32(Console.ReadLine());

A Parse függvény csak string-ből képes valamilyen egyéb változóba konvertálni, viszont a Convert megbirkózik az összes változóval, így képes bármelyikből bármelyikbe konvertálni.

Téglalap kerülete, területe (csak a main részbe írt kódok)
(adatok beolvasása és kiíratása)

Kerekítés kiíratáskor

Ha szeretnénk egy változót 3 tizedesjeggyel együtt kiíratni: 

Console.WriteLine(„Tizedesjegyek… {0:N3}”, szam);

Az N mögé kell megadni, hány tizedesjegyet szeretnénk. Ha nincs annyi, akkor 0-kal pótolja a C#.

Kerekítés függvénnyel

Kerekítéshez használhatjuk a Math.Round() illetve a Math.Floor() és a Math.Ceiling() függvényt. 

szam = Math.Floor(2.25); //kerekítés kisebb egész számra

szam = Math.Ceiling(2,25); //kerekítés nagyobb egész számra

szam  = Math.Round(2.15,1); // kerekítés, egy tizedesjeggyel

szam = Math.Round(2,15); //kerekítés egész számra