Alapvető I/O - kiírás képernyőre
Az I/O kifejezés az input/output rövidítése, a bevitel/kivitel jelölése. Konzolos alkalmazások esetén ez nem jelent túl bonyolult dolgot, ellentétben egy Windows Forms alkalmazással, vagy Web-es felülettel.
A konzolos alkalmazások két alapvető függvényt használnak I/O célra:
- Console.WriteLine(...) - kiírás a képernyőre, soremelés
- Console.Write() - kiírás a képernyőre
A Console.WriteLine() függvény nevének beírásakor ügyeljünk, hogy a C, a W és az L betűk is nagybetűk, minden más betű kicsi.
Kiírás
A Console.WriteLine(...) alapvetően egyetlen adat kiírására képes:
Console.WriteLine(123);
Console.WriteLine(int.MinValue);
Console.WriteLine(2*12+4);
Aki nem hiszi, hogy a C.WL csak egyetlen adat kiírására alkalmas, az próbálja ki az alábbiakat:
Console.WriteLine(123,245);
Console.WriteLine("3*2=",3*2);
Összetett kiírás
Amennyiben nem egyetlen értéket, adatot kívánunk kiírni, formátum stringet kell alkalmaznunk. A formátum sztring mindíg az első paramétere a C.WL függvénynek, és belsejében további paraméterekre hivatkozhatunk. A további paraméterek sorszámukkal hivatkozhatóak meg, a sorszámozás 0-tól indul. A sorszámokat kapcsos zárójelek közé kell helyezni. A formátum sztringben szereplő minden más karakter egyszerűen kiíródik a képernyőre.
A fentieket úgy kell érteni, hogy:
- {0} - írd ki a formátum sztring mögött megadott 0. sorszámú értéket (ez a 3)
- * - vagyis írj ki egy szorzásjelet
- {1} - írd ki a formátum sztring mögött megadott 1. sorszámú értéket (ez a 2)
- = - vagyis írj ki egy egyenlőségjelet
- {2} - írd ki a formátum sztring mögött megadott 1. sorszámú értéket (ez a 3*2 kiszámolt értéke, vagyis 6)
A képernyőn a 3*2=6 kiírás fog megjelenni.
Figyelem! A formátum sztring belsejét a fordítóprogram nem ellenőrzi le. Ezért könnyű benne olyan hibát ejteni, amely majd csak futás közben derül ki. Kétfajta gyakori hibával lehet találkozni:
- olyan sorszámú paraméterre hivatkozunk, amely nincs, pl {12}, és nincs ilyen sok plusz paraméter
- hibásan használjuk a kapcsos zárójelpárt, a {3} zárójelezés, ahol kapcsos zárójellel nyitunk, de gömbölyű bezáró zárójelet használunk - hibás.
Write vs. WriteLine
A Console.WriteLine() mellett használható kiírásra a Console.Write() is. Használata mindenben megegyezik a WriteLine használatával - egyetlen különbség van csak. A WriteLine a kiírás után a kurzort a következő sor elejére rakja, míg a Write a kurzort a kiírtak mögött felejti.
Tudni kell, hogy mind a Write, mind a WriteLine kiírása a képernyőn ott fog megjelenni, ahol a kurzor a kiírás kezdetén villog. Vagyis az egymás utáni WriteLine-ok kiírásai egymás alá kerülnek, míg a Write kiírások egymás mögé.

A képen látszik, hogy a Hello és a Lajos!'' kiírások egymás alá kerültek, és a kurzor máris a következő sorban van, készen a következő kiírásra.

A Write esetén a Hello és a Lajos! szövegek összeolvadnak, szorosan egymás mellé kerülnek. A kurzor a felkiáltójel mögött maradt.
A fentiek alapján a Write(...) ügyes használatával elvileg meg lehet úszni a kapcsos zárójeles extra paraméterek használatát is. Nyilván nem célunk a programsorok szaporítása, ezért ezt a megoldást nem javasoljuk, és nem is használjuk. Nem csak az áttekinthetőséget növeli a sok programsor használata, a program futása is lassabb, illetve a generált kód hossza is kedvezőtlenebb.

Figyeljük meg az előző megoldásban, hogy az első write(...) esetén a "3+2=" szöveg aposztrófokban van, vagyis a képernyőn ezek a karakterek változatlan formában íródnak ki. Második esetben nincs aposztrófokban, így numerikus kifejezést alkot a 3+2, amit kiértékel, kiszámol a gép, és az eredményét írja ki. A write(...) miatt a két kiírás egymás mögé kerül. Ez egyetlen write(...) kiírással is megoldható.
