Kihagyás

2.5. és 2.6. Beolvasás billentyűről és Konvertálás

Az adatbevitel egyik leggyakrabban használt módja a billentyűről történő beolvasás. Ehhez a beolvasás szó angol megfelelőjét használjuk: Read, illetve ReadLine (beolvasás a sor végéig). Mivel a billentyűzet is egy konzol, ezért a teljes utasítás a következőképpen néz ki: Console.Read(); vagy Console.ReadLine();.

A beolvasás eredményét mindig egy változóban kell tárolni:

a = Console.ReadLine();

A legfontosabb szabály az adatbekérésnél!

C#-ban a Console.ReadLine() utasítással csak szöveg típusú adatot (stringet) lehet beolvasni!

Ezért, ha számot szeretnénk bekérni (például életkort, vagy egy matematikai művelethez szükséges értéket), akkor azonnal át kell váltani, azaz konvertálni kell a megfelelő számtípusra a bekérést követően (vagy vele egyidőben).

Példa a konvertálásra:

egesz = Convert.ToInt32(Console.ReadLine()); 
valos = Convert.ToDouble(Console.ReadLine());
Az első esetben az egesz változó int típusú egész szám, a valos pedig double típusú valós szám lesz a konvertálás után. Most már el lehet végezni rajtuk a számokra jellemző matematikai műveleteket.


5. feladat

Írjunk programot, amely bekér két egész számot a billentyűről és kiírja az összegüket! Név: Adatbekérés1.

Megoldás:

static void Main(string[] args)
{
    int a = 0, b = 0;
    Console.WriteLine("Két szám összegének kiszámítása");

    // Az első szám bekérése és konvertálása
    Console.Write("Kérem az 1. számot: ");
    a = Convert.ToInt32(Console.ReadLine());

    // A második szám bekérése és konvertálása
    Console.Write("Kérem az 2. számot: ");
    b = Convert.ToInt32(Console.ReadLine());

    Console.WriteLine();
    Console.WriteLine("A két szám összege: {0}", a + b);
    Console.ReadKey();
}
(Megjegyzés: Itt látható a különbség a Write és a WriteLine között: a Console.Write használata miatt a felhasználó közvetlenül a kiírt szöveg (kettőspont) mellé gépelheti be a számot, nem pedig a következő sorba.)