Explicit és implicit konverzió c #

Explicit és implicit konverzió c #

Jó napot, Aleksey Gulynin a kapcsolatot. Az utóbbi cikkben tanulták, mi .NET Framework. Ebben a cikkben szeretnék beszélni explicit és implicit konverzió C #. C # egy erősen típusos nyelv. A változó típusát meg kell adni, ha megindul. Néha meg kell konvertálni a változót más típusú. C # van egy explicit és implicit típusú átalakítás (implicite konvertálni). Implicit konverziós jellemző elsősorban a numerikus típusok: byte, rövid, int, hosszú, úszó, dupla. Hogyan kell ezt érteni? byte adattípus implicit alakítjuk adattípusok rövid, int, hosszú. rövid adattípus implicit alakítjuk adattípusok int, hosszú. Int implicit alakítjuk, hogy egy hosszú, úszó implicit alakítani egy dupla. És a kettős összes ilyen típusú implicit módon alakítjuk.

Elemezzük a példa implicit típusú átalakítás:

Miért egy ilyen átalakítás lehetséges. A válasz abban rejlik, hogy az értéktartomány átfedi long int (azaz a hosszú lehet rögzíteni bármilyen érték int), az értékek a rövid átfedésben bájt, stb

Itt azt látjuk, hogy az átalakítás zajlott, és üzenetek jelennek meg. Azonban a fordított konverzió nem fut, azaz hosszú implicite nem alakul át int. rövid ahhoz, hogy egy byte, stb Amikor megpróbál alakítsa át a fordító csúfság:

A fordító azt mondja, hogy „az implicit konverzió rövid byte lehetetlen. Az explicit konverziós létezik (Ön hiányzik leadott?)”. Fordításkor fordító tudja, hogy melyik értéket tárolja a változó b (típus byte) és s (típus rövid). de nem minden típusú rövid számok tudunk a byte. Lehetőség van levelet értéke rövid. ami nem fér bele byte.

Ezért van egy hiba fordításkor.

Az implicit típusú átalakítás, úgy gondoltuk, beszéljünk explicit konverziót. Az üzemeltető, aki ezt teszi az úgynevezett öntött. zárójelben, mielőtt a változó jelzi a típusú adatok, amelyek a variábilis kell átalakítani. például:

Van egy másik módja az adatok átalakítása a Convert osztály. ahol van egy csomó statikus módszerek (a előtagot). Ezek a statikus módszerek működnek a konverzió. Redid az előző példában:

Itt adunk hosszú int konverzió. Számos statikus módszerek: ToInt16 (), ToInt32 (), ToInt64 (). Nézzük értelmében ezek a számok példaként ToInt32 módszer. Adat típusú int foglal 4 byte (meg kell tárolni a változó 4 bájt) és 32 bit (4 byte * 8 (egy bájt 8 bites) = 32 bit).

Szintén fontos megjegyezni, hogy van egy univerzális módszer toString (). bármilyen típusú adatot, amely azután egy húr. Mi van, ha azt akarjuk, hogy konvertálni a string egy szám? Erre azért van szükség, amikor a felhasználó belép valamit. Lesz Elemzési módszer. Tekintsük a következő példát:

Minden rendben van, de ha a felhasználó belép nem szám, és minden értelmetlen, a program összeomlik. Ennek elkerülése érdekében, használja a módszert TryParse (). Ez a módszer ellenőrzi, hogy az átalakítás lehetséges, és ha lehetséges, akkor igazat ad vissza. Remake a kód:

Házi feladat végrehajtásához az algoritmus: kimenet üzenetet „Enter an integer”, amíg ő nem fog meg egy egész. Más szóval, ha bevezetik nem egész, akkor a program csak akkor szüntethető meg, és egy üzenet jelenik meg újra.

Ebben a cikkben, amit megtanultam kivitelezőknek a C #.

További cikkek.

  • Explicit és implicit konverzió c #
    C # struktúra
  • Explicit és implicit konverzió c #
    méret a könyvtár C #
  • Explicit és implicit konverzió c #
    Mi a .NET-keretrendszer?
  • Explicit és implicit konverzió c #
    Eszközök építeni .NET-alkalmazások
  • Explicit és implicit konverzió c #
    A túlterhelt módszerek C #

Kapcsolódó cikkek