Adattípusok¶
A C# a Pythonnal szemben statikusan típusos: a fordító ellenőrzi, hogy egy változóba milyen érték kerülhet. A var kulcsszóval a fordító következtet a típusra, de a változó ekkor is rögzített típusú lesz.
Beépített típusok¶
| Típus | Méret | Példa | Python-megfelelő |
|---|---|---|---|
bool |
1 bájt | true |
bool (True) |
byte |
1 bájt | 255 |
int |
short |
2 bájt | 1200 |
int |
int |
4 bájt | 42 |
int |
long |
8 bájt | 3000000000L |
int |
float |
4 bájt | 3.5f |
float |
double |
8 bájt | 3.5 |
float |
decimal |
16 bájt | 199.99m |
decimal.Decimal |
char |
2 bájt | 'A' |
egykarakteres str |
A byte előjel nélküli, 0–255 közötti egész szám. Az int −2 147 483 648 és 2 147 483 647 között tárol értéket; a Python int mérete ezzel szemben szükség szerint növekedhet. A float és double közelítő ábrázolású lebegőpontos típus, pénzhez többnyire decimal való.
String (szöveges) típus¶
A C# szövegtípusa a kisbetűs string (a System.String rövid neve). A karakterhez egyszeres, a szöveghez dupla idézőjelet használunk.
A string nem módosítható helyben: a Replace és hasonló metódusok új sztringet adnak vissza.
Átalakítás és osztás¶
int.Parse érvényes egész szöveget alakít számmá, de hibás bemenetre kivételt dob. Felhasználói adatnál inkább int.TryParse-t használjunk. Két int osztása egész osztás; törtrészhez legalább az egyik operandus legyen lebegőpontos.
int egesz = 5 / 2; // 2
double pontos = 5.0 / 2; // 2.5
bool sikerult = int.TryParse("42", out int szam);
Console.WriteLine($"{sikerult}: {szam}");
Pythonban a / mindig valódi osztás, a // egész hányadost ad.
Feladat¶
Hozz létre egy short, egy double és egy string változót! Írd ki interpolált sztringben az értékeiket, majd próbáld meg a szöveget számmá alakítani TryParse segítségével.