TOC

This article has been localized into Hungarian by the community.

Alapismeretek:

Változók

A változó olyan, mint egy tároló rekesz, a programozók számára nélkülözhetetlen. C#-ban változókat így deklarálunk:

<adattípus> <név>;

Például:

string name;

Ez a legegyszerűbb verzió, de a változónak még nincs értéke. Értéket adhatunk neki később vagy akár a deklarációval egyszerre, így:

<data type> <name> = <value>;

Ha a változó nem lokális abban a metódusban, amelyben dolgozunk (pl.: osztály tagváltozó, azaz mező), akkor láthatóságot is adhatunk a változónak:

<láthatóság> <adattípus> <változónév> = <érték>;

Például:

private string name = "John Doe";

A láthatóság fogalma az osztályokhoz kapcsolódik, az osztályokról szóló fejezetben kerül részletesen tárgyalásra. Koncentráljunk most a változókra egy példával, amelyben fel is használjuk őket:

using System;

namespace ConsoleApplication1
{
    class Program
    {
static void Main(string[] args)
{
    string firstName = "John";
    string lastName = "Doe";

    Console.WriteLine("Name: " + firstName + " " + lastName);

    Console.WriteLine("Please enter a new first name:");
    firstName = Console.ReadLine();

    Console.WriteLine("New name: " + firstName + " " + lastName);

    Console.ReadLine();
}
    }
}

Ebből már sok dolgot megmagyaráztunk korábban, ugorjunk rögtön az érdekes részhez. Először is, létrehozunk néhány string típusú változót. A string egyszerű szöveg, látható is, hiszen rögtön értéket is adunk a változóknak. Ezután kiírunk a konzolra egy sor szöveget, amelyben használjuk a két lokális változót. A stringet a + karakterek segítségével állítjuk össze a darabjaiból.

Ezután bekérünk a felhasználótól egy új keresztnevet, majd a ReadLine() metódus segítségével beolvassuk a felhasználói inputot a konzolról és beírjuk a firstName változóba. Miután a felhasználó lenyomja az enter gombot, az új keresztnév értékül lesz adva a lokális változónak, majd a következő sorban kiírjuk a nevet újra, hogy lehessen látni a változást. Ebben a programban használtuk a váltózót és annak legfontosabb tulajdonságát: értékét futás közben meg lehet változtatni.

Egy másik érdekes példa a matematikai számítások. Az előző kódokra építve itt egy kis számítás:

int number1, number2;

Console.WriteLine("Please enter a number:");
number1 = int.Parse(Console.ReadLine());

Console.WriteLine("Thank you. One more:");
number2 = int.Parse(Console.ReadLine());

Console.WriteLine("Adding the two numbers: " + (number1 + number2));

Console.ReadLine();

Tegyük bele a Main metódusunkba és próbáljuk ki. Az egyetlen új trükk az int.Parse metódus használata. Ez egyszerűen csak beolvas egy stringet és integer (egész szám - a ford.) típusú konvertálja konvertálja. Ahogy látszik, a program nem próbálja meg validálni a felhasználói inputot, így ha nem számot írunk be, kivétel keletkezik. Erről bővebben majd később.

Változok hatóköre

Eddig csak lokális változókat használtunk: olyanokat, amelyek ugyanabban a metódusban vannak definiálva, ahol használjuk őket. C#-ban egy adott metódusban definiált változót nem használhatunk egy másik metódusban, ezért is hívják lokális változónak. Ha ismersz más programozási nyelveket, akkor ismerheted a globális változó fogalmát, amelyeket több helyről is el lehet érni. A C# programozási nyelv azonban nem támogatja a globális változókat. Ehelyett egy mezőt lehet definiálni egy osztályban, amelyet az osztály minden metódusa tud használni. Íme egy példa:

using System;

namespace VariableScope
{
    class Program
    {
private static string helloClass = "Hello, class!";

static void Main(string[] args)
{
    string helloLocal = "Hello, local!";
    Console.WriteLine(helloLocal);
    Console.WriteLine(Program.helloClass);
    DoStuff();
}

static void DoStuff()
{
    Console.WriteLine("A message from DoStuff: " + Program.helloClass);
}
    }
}

Vegyük észre, hogy a helloClass tag az osztály szintjén van definiálva, nem a metódusban. Ez lehetővé teszi, hogy mind a Main(), mind a DoStuffmetódusból hozzáférjünk. Ez nem igaz a helloLocal változóra, amelyet a Main() metódusban deklaráltunk, így csak ott használható.

A koncepciót, amely megkülönbözteti azt, hogy az egyes változók hol vannak deklarálva hatókörnek (scope) hívjuk. Ez segít abban, hogy a program ne legyen túlságosan átláthatatlan az olyan változók miatt, amelyeket túl sok helyről lehet megváltoztatni. Egy másik technika erre a láthatóság (jelen esetben a private kulcsszóval megvalósítva), amelyet majd az osztályokról szóló fejezetben tárgyalunk.

Összefoglalás

A változók lehetővé teszik, hogy különböző típusú adatokat, például szöveget, számokat vagy akár saját objektumokat tároljunk. Vannak lokális változók, amelyek csak abban a metódusban érhetőek el, amelyben deklarálva vannak és mezők, amelyek az osztály minden metódusából, sőt, akár az osztályon kívülről is elérhetőek, ha a láthatóság megengedi.


This article has been fully translated into the following languages: Is your preferred language not on the list? Click here to help us translate this article into your language!