A C#-ban mit jelentenek ezek a kulcsszavak?
abstract, default, foreach, object, sizeof, unsafe, as,
Ezeknek a kulcsszavaknak a definícióját keresem. Aki tudja, azt kérem, hogy segítsen. Normális válaszokat kérek. Előre is köszönöm.
abstract: az ezzel ellátott (vagy ilyen függvényt tartalmazó) osztályok nem példányosíthatóak
default: switch-ben az az ág, amely akkor fut le, ha a többire false érték jön ki
foreach: végigjár pl. egy tömböt, hogy az elemein műveletet végezhess
sizeof: visszaadja egy változó méretét
as: aliast rendel egy osztályhoz, vagy használva van a foreach-ben is
09:39
Egyik definíciód sem túl pontos, de ez különösen válaszért kiállt:
"as: aliast rendel egy osztályhoz, vagy használva van a foreach-ben is"
Nem sql volt a kérdés, c#-ban ez konvertálásnál használatos. Mégpedig úgy hogy ha egy típust akarunk castolni egy másik típusra, akkor amennyiben a konverzió lehetséges, úgy a castolt típus lesz a művelet eredménye, egyébként pedig null.
Egyébként kérdező, ha beírod ezeket a kulcsszavakat gulgiba, akkor mindegyikről fogsz definíciót találni az MSDN-n, annál pontosabbat senkitől nem fogsz itt kapni.
abstract: Ezzel osztályokat és metódusokat jelölhetünk meg. Egy abstract osztályt nem lehet példányosítani, csak további osztályokat lehet belőle származtatni. Továbbá, abstract metódus csak abstract osztályban szerepelhet, éppen azért, mert egy abstract metódus nincs implementálva.
default: Ez a switch szerkezetnek egy olyan ága, amire bármilyen érték illeszkedik.
foreach: Ez egy felsorolható adattípusokon működő ciklus. Azt csinálja, hogy mindig kiválaszt egyet a felsorolható adattípus elemei közül, és azt egy általad megadott változóban tárolja el.
object: Na ez egy nagyon érdekes kérdés. Ha körülnézel magad körül, tárgyakat látsz, például asztalt, széket, stb. Az OOP paradigma szerint megírt program is egy ilyen világ. Viszont, a mi világunkban van egy legkisebb alkotóelem, ami az összes tárgyunkat felépíti. Ez az atom. Az OOP világban is van egy ilyen legkisebb alkotóelem, de ott nem atomnak, hanem object-nek nevezzük. Minden osztály ebből származik.
sizeof: Ez az operátor megmondja egy általad megadott változóról vagy típusnévről, hogy hány bájton fér el a memóriában.
unsafe: A .NET ún. menedzselt memóriakezelést alkalmaz. Ez annyit tesz, hogy ha változót/osztálypéldányt/stb. hozol létre, nem te foglalod le, és szabadítod fel a memóriaterületet, hanem a .NET. Ez azonban azt jelenti, hogy mutatótípusokat te nem is használhatsz a kódban. Ellenben az unsafe blokk ezt megengedi neked. Nem arra kell gondolni, hogy az ebben leírt kód nem biztonságos, hanem arra, hogy itt teljesen neked kell kezelned a memóriaterületet. Ekkor viszont a programodat így kell lefordítani:
csc.exe /unsafe forras.cs
as: Ez gyakorlatilag hasonló, mint a típuskényszerítés, egy nagy különbséggel.
class Jarmu {}
class Szemelykocsi : Jarmu {}
Jarmu j = new Szemelykocsi();
1) Szemelykocsi sz = (Szemelykocsi)j;
2) Szemelykocsi sz = j as Szemelykocsi;
Az első esetben kivételt fogsz kapni, ha a típuskényszerítés nem sikerül (pl. a j nem típuskényszeríthető Szemelykocsi-vá). A második esetben nem fogsz kivételt kapni erről, az sz csak null értéket vesz fel.
17/L
Köszönöm szépen a válaszokat!
#4 Nem az volt a kérdésem.
Látom nem érted.
Eleve az a baj, hogy volt kérdésed.
1 perc alatt kiguglizható információ.
Akinek ez nem megy, kár programoznia.
Bírom az ilyen gyökereket! Ezt a weboldalt nem azért találták ki, hogy olyan válaszokat adjunk a kérdéseikre, hogy megmondjuk nekik, melyik keresőmotor tud több információval szolgálni! Az ilyen melyik regisztrált be?
Ki tudja lehet, hogy az illető nem tud olyan jól angolul (és ne gyere nekem azzal, hogy az nem programozzon aki nem tud jól angolul!!!), kezdő és nem tudná 100%-osan megérteni azt amit mondjuk a Microsoft oldalán angolul összehadoválnak! PLS...
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!