Hvad er Dynamic Type i C#

Hvad Er Dynamic Type I C



Den dynamiske type blev først introduceret i C# version 4.0, dynamisk type gør det muligt at deklarere variabler med dynamisk søgeord. Det betyder, at variablens type bestemmes under udførelsen af ​​programmet, snarere end under kompileringsfasen. Denne fleksibilitet viser sig at være gavnlig, når man beskæftiger sig med data, hvis type forbliver ukendt indtil runtime.

Hvad er dynamisk typning

Dynamisk indtastning giver mulighed for at tildele forskellige typer værdier til den samme variabel under kørsel. I modsætning til statisk typning, hvor variabeltypen bestemmes på kompileringstidspunktet og forbliver fast, tilbyder dynamisk typning fleksibilitet ved at bestemme typen på runtime baseret på den tildelte værdi. Det eliminerer kompileringstidstypekontrol ved at udskyde det til runtime.

Ved dynamisk indtastning udføres typekontrol ikke af compileren under kompilering. I stedet bestemmes variablens type ved kørsel baseret på den tildelte værdi. Dette giver mulighed for sen binding, hvor metodekald og medlemsadgang løses dynamisk baseret på den faktiske type af objektet.







Sådan bruger du Dynamic Type i C#

For at bruge dynamisk type i C#, erklærer du blot en variabel ved hjælp af det dynamiske nøgleord. For eksempel:



dynamisk myVariable = 'Hej Verden!' ;

I dette eksempel er myVariable erklæret som en dynamisk variabel og tildelt værdien 'Hello, World!'. Ved kørsel vil typen af ​​myVariable blive bestemt til at være en streng.



Eksempel på brug af Dynamic Type i C#

Denne kode demonstrerer brugen af ​​det dynamiske søgeord i C#:





ved hjælp af System ;
offentlig klasse program
{
offentlig statisk ugyldig Hoved ( )
{
dynamisk myDynamicVariable = 42 ;
Konsol. WriteLine ( 'Værdi: {0}, Type: {1}' , myDynamicVariable , myDynamicVariable. GetType ( ) ) ;

myDynamicVariable = 'Hej Verden!' ;
Konsol. WriteLine ( 'Værdi: {0}, Type: {1}' , myDynamicVariable , myDynamicVariable. GetType ( ) ) ;

myDynamicVariable = falsk ;
Konsol. WriteLine ( 'Værdi: {0}, Type: {1}' , myDynamicVariable , myDynamicVariable. GetType ( ) ) ;

myDynamicVariable = Dato tid. Nu ;
Konsol. WriteLine ( 'Værdi: {0}, Type: {1}' , myDynamicVariable , myDynamicVariable. GetType ( ) ) ;

MyCustomFunction ( myDynamicVariable ) ;
}

offentlig statisk ugyldig MyCustomFunction ( dynamiske data )
{
Konsol. WriteLine ( 'Brugerdefineret funktionsoutput: {0}' , data ) ;
}
}

Det dynamiske nøgleord tillader, at en variabel indtastes dynamisk, hvilket betyder, at dens type kan ændres under kørsel. I koden hedder en variabel myDynamicVariable er erklæret som dynamisk og tildeles oprindeligt en heltalsværdi på 42. Den udskrives derefter sammen med dens type ved hjælp af Console.WriteLine.

Derefter tildeles myDynamicVariable en strengværdi ('Hello World!') og udskrives igen med dens type. Den samme proces gentages for en boolsk værdi og til sidst for den aktuelle dato og klokkeslæt opnået ved hjælp af DateTime.Now.



Koden inkluderer også en MyCustomFunction, der tager dynamiske parameterdata og udskriver dem. MyDynamicVariable-funktionen kaldes et argument, der viser, at dynamiske variabler kan overføres til funktioner, og deres type kan bestemmes under kørsel.

Konklusion

Den dynamiske type i C# 4.0 gør det muligt at deklarere variabler uden at angive deres type, hvilket er nyttigt, når man arbejder med data af ukendte typer under kørsel. Dynamisk indtastning giver compileren mulighed for at springe typekontrol over under kompilering. I stedet bestemmes variablens type, når programmet kører, baseret på den værdi, den har. Læs mere om dynamisk type i denne artikel.