Mi a dinamikus típus a C#-ban

Mi A Dinamikus Tipus A C Ban



A dinamikus típust először a C# 4.0-s verziójában vezették be, a dinamikus típus lehetővé teszi a változók deklarálását dinamikus kulcsszavakat. Ez azt jelenti, hogy a változó típusát a program végrehajtása során határozzák meg, nem pedig a fordítási fázisban. Ez a rugalmasság előnyösnek bizonyul olyan adatok kezelésekor, amelyek típusa a futásidőig ismeretlen marad.

Mi az a dinamikus gépelés?

A dinamikus gépelés lehetővé teszi különböző típusú értékek hozzárendelését ugyanahhoz a változóhoz futás közben. Ellentétben a statikus gépeléssel, ahol a változó típusa fordításkor kerül meghatározásra, és rögzített marad, a dinamikus gépelés rugalmasságot kínál azáltal, hogy a típust futás közben határozza meg a hozzárendelt érték alapján. Kiküszöböli a fordítási idejű típusellenőrzést azáltal, hogy futásidejűre halasztja.

Dinamikus gépelésnél a típusellenőrzést nem hajtja végre a fordító a fordítás során. Ehelyett a változó típusát a rendszer futás közben határozza meg a hozzárendelt érték alapján. Ez lehetővé teszi a késői összerendelést, ahol a metódushívások és a tagok hozzáférése dinamikusan oldódik fel az objektum tényleges típusa alapján.







A Dynamic Type használata C#-ban

A dinamikus típus használatához a C#-ban egyszerűen deklaráljon egy változót a dinamikus kulcsszó használatával. Például:



dinamikus myVariable = 'Helló Világ!' ;

Ebben a példában a myVariable dinamikus változóként van deklarálva, és a „Hello, World!” értéket kapja. Futás közben a myVariable típusa karakterlánc lesz.



Példa a dinamikus típus használatára C#-ban

Ez a kód bemutatja a dinamikus kulcsszó használatát C# nyelven:





rendszer segítségével ;
nyilvános osztály Program
{
nyilvános statikus üres ( )
{
dinamikus myDynamicVariable = 42 ;
Konzol. WriteLine ( 'Érték: {0}, típus: {1}' , myDynamicVariable , myDynamicVariable. GetType ( ) ) ;

myDynamicVariable = 'Helló Világ!' ;
Konzol. WriteLine ( 'Érték: {0}, típus: {1}' , myDynamicVariable , myDynamicVariable. GetType ( ) ) ;

myDynamicVariable = hamis ;
Konzol. WriteLine ( 'Érték: {0}, típus: {1}' , myDynamicVariable , myDynamicVariable. GetType ( ) ) ;

myDynamicVariable = Dátum idő. Most ;
Konzol. WriteLine ( 'Érték: {0}, típus: {1}' , myDynamicVariable , myDynamicVariable. GetType ( ) ) ;

MyCustomFunction ( myDynamicVariable ) ;
}

nyilvános statikus üres MyCustomFunction ( dinamikus adatok )
{
Konzol. WriteLine ( 'Egyéni funkció kimenet: {0}' , adat ) ;
}
}

A dinamikus kulcsszó lehetővé teszi egy változó dinamikus beírását, ami azt jelenti, hogy a típusa futás közben változhat. A kódban egy változó nevű myDynamicVariable dinamikusnak van deklarálva, és kezdetben 42-es egész számot rendel hozzá. Ezután a Console.WriteLine segítségével kinyomtatja a típusával együtt.

Ezután a myDynamicVariable egy karakterlánc értéket kap („Hello World!”), és ismét kinyomtatja a típusát. Ugyanez a folyamat megismétlődik egy logikai érték és végül a DateTime.Now segítségével kapott aktuális dátum és idő esetében.



A kód tartalmaz egy MyCustomFunction-t is, amely dinamikus paraméteradatokat vesz és kinyomtat. A myDynamicVariable függvényt argumentumnak nevezzük, amely bemutatja, hogy a dinamikus változók átadhatók a függvényeknek, és típusuk futás közben meghatározható.

Következtetés

A C# 4.0 dinamikus típusa lehetővé teszi a változók deklarálását a típusuk megadása nélkül, ami hasznos, ha futás közben ismeretlen típusú adatokkal dolgozik. A dinamikus gépelés lehetővé teszi a fordító számára, hogy a fordítás során kihagyja a típusellenőrzést. Ehelyett a változó típusát a program futása során határozzák meg, a benne lévő érték alapján. A dinamikus típusról ebben a cikkben olvashat bővebben.