P ROGRAMOZÁS I/O műveletek
S YSTEM.C ONSOLE A programjainknak fontos része a felhasználóval való kommunikáció. Adatokat kell kérni tőle, vagy közölnünk kell, mi volt a program futásának eredménye. Ahhoz, hogy az adatokat, vagyis a változók tartalmát be tudjuk olvasni vagy meg tudjuk jeleníteni a képernyőn, a.NET rendszerben igénybe vehetjük a C# alapvető I/O szolgáltatásait, A System névtérben található Console osztály ide tartozó metódusait (függvények és eljárások).
I/O System.Console.Read(); System.Console.Write(); System.Console.ReadLine(); System.Console.WriteLine(); A Console.Write() és a Console.WriteLine() a kiírásra míg a Console.Read() és a Console.ReadLine() a beolvasásra használható.
I/O A beolvasás azt jelenti, hogy az ún.: standard input stream –ről várunk adatokat. Amennyiben a Read() beolvasó utasítást használjuk, int típusú adatot kapunk A ReadLine() metódus esetében viszont stringet. Ez kiderül, ha megnézzük a két metódus prototípusát. Jól látszik, hogy a Read() int típusú, a ReadLine() viszont string. Adat beolvasásakor természetesen nem csak erre a két típusra van szükségünk, ezért az input adatokat konvertálnunk kell a megfelelő konverziós eljárásokkal
N ÉVTÉR IMPORTÁLÁS A System hivatkozás elhagyható a metódusok hívásakor, amennyiben azt a program elején, a using bejegyzés után felvesszük a következő módon: using System; Ezt a műveletet névtér importálásnak nevezzük. Mikor eltekintünk a névtér importálástól, akkor az adott metódus teljes, minősített, vagy q nevéről beszélünk, ami a függvény névtérben elfoglalt helyével kezdődik
W RITE L INE Console.WriteLine("\n a={0}\n b={1}\n a+b={2}",a,b,a+b); A System.Console.WriteLine() metódussal a standard output - ra, vagyis a képernyőre tudunk írni, pontosabban a képernyőn megjelenő Consol alkalmazás ablakába. A metódusban ún. formátum string - et, vagy más néven maszkot alkalmaztunk, hogy a változók értékeit formázottan, vagyis a számunkra megfelelő alakban tudjuk megjeleníteni. A formátum string tartalmaz konstans részeket (a=, b=, a+b=) ami változatlan formában kerül a képernyőre. A {0}, {1}, {2} bejegyzéseket arra használjuk, hogy a formátum string megfelelő pontjaira behelyettesítsük a paraméterlistában felsorolt változók értékeit: a {0} jelenti a nulladik, vagyis a sorban az első változó helyét, a {1} a második változó helyét, és így tovább. Amennyiben a {} zárójelek között olyan értéket adunk meg, mely nem létező változóra hivatkozik, a program leáll.
F ORMÁTUM MASZK KARAKTEREI
F ELHASZNÁLÓI ADATBEVITEL A felhasználói input kezelésére lehetőséget biztosítanak a Console.Read(),és a Console.ReadLine() metódusok. Mindkettő esetében adatokat olvashatunk be a standard inputról, vagyis a billentyűzetről, Ha megtámogatjuk a két metódust a Convert osztály konverziós függvényeivel, nemcsak int és string típusú adatokat, hanem szám típusú, vagy logikai értékeket is beolvashatunk a felhasználótól.
Az alábbi felsorolás tartalmazza azokat a konvertáló metódusokat, melyeket az alapvető I/O alkalmazása során használni fogunk: ToBoolean() ToByte() ToChar() ToString() ToInt32() ToDateTime()
K ONVERTÁLÁS a=Convert.ToInt32(Console.ReadLine()); bool b = Convert.ToBoolean(Console.ReadLine()); c=Convert.ToDouble(Console.ReadLine());