Vad är Dynamic Type i C#

Vad Ar Dynamic Type I C



Den dynamiska typen introducerades först i C# version 4.0, dynamisk typ tillåter att deklarera variabler med dynamisk nyckelord. Det betyder att variabelns typ bestäms under körningen av programmet, snarare än under kompileringsfasen. Denna flexibilitet visar sig vara fördelaktig när man hanterar data vars typ förblir okänd fram till körning.

Vad är dynamisk typning

Dynamisk typning gör det möjligt att tilldela olika typer av värden till samma variabel under körning. Till skillnad från statisk typning, där variabeltypen bestäms vid kompilering och förblir fast, erbjuder dynamisk typning flexibilitet genom att bestämma typen vid körning baserat på det tilldelade värdet. Det eliminerar typkontroll av kompileringstid genom att skjuta upp det till körning.

Vid dynamisk typning utförs inte typkontroll av kompilatorn under kompileringen. Istället bestäms variabelns typ vid körning baserat på det tilldelade värdet. Detta möjliggör sen bindning, där metodanrop och medlemsåtkomst löses dynamiskt baserat på den faktiska typen av objekt.







Hur man använder Dynamic Type i C#

För att använda dynamisk typ i C#, deklarerar du helt enkelt en variabel med hjälp av det dynamiska nyckelordet. Till exempel:



dynamisk myVariable = 'Hej världen!' ;

I det här exemplet deklareras myVariable som en dynamisk variabel och tilldelas värdet 'Hello, World!'. Vid körning kommer typen av myVariable att bestämmas vara en sträng.



Exempel på att använda Dynamic Type i C#

Den här koden demonstrerar användningen av det dynamiska nyckelordet i C#:





använder System ;
offentlig klass program
{
offentlig statisk tomhet Main ( )
{
dynamisk myDynamicVariable = 42 ;
Trösta. Skrivlinje ( 'Värde: {0}, Typ: {1}' , myDynamicVariable , myDynamicVariable. GetType ( ) ) ;

myDynamicVariable = 'Hej världen!' ;
Trösta. Skrivlinje ( 'Värde: {0}, Typ: {1}' , myDynamicVariable , myDynamicVariable. GetType ( ) ) ;

myDynamicVariable = falsk ;
Trösta. Skrivlinje ( 'Värde: {0}, Typ: {1}' , myDynamicVariable , myDynamicVariable. GetType ( ) ) ;

myDynamicVariable = Datum Tid. Nu ;
Trösta. Skrivlinje ( 'Värde: {0}, Typ: {1}' , myDynamicVariable , myDynamicVariable. GetType ( ) ) ;

MyCustomFunction ( myDynamicVariable ) ;
}

offentlig statisk tomhet MyCustomFunction ( dynamiska data )
{
Trösta. Skrivlinje ( 'Anpassad funktionsutgång: {0}' , data ) ;
}
}

Det dynamiska nyckelordet gör att en variabel kan skrivas dynamiskt, vilket innebär att dess typ kan ändras under körning. I koden, en variabel som heter myDynamicVariable deklareras som dynamisk och tilldelas initialt ett heltalsvärde på 42. Det skrivs sedan ut tillsammans med dess typ med hjälp av Console.WriteLine.

Därefter tilldelas myDynamicVariable ett strängvärde ('Hello World!') och skrivs igen ut med dess typ. Samma process upprepas för ett booleskt värde och slutligen för det aktuella datumet och tiden som erhålls med DateTime.Now.



Koden innehåller också en MyCustomFunction som tar dynamisk parameterdata och skriver ut den. Funktionen myDynamicVariable kallas ett argument, vilket visar att dynamiska variabler kan skickas till funktioner och deras typ kan bestämmas vid körning.

Slutsats

Den dynamiska typen i C# 4.0 tillåter att variabler deklareras utan att specificera deras typ, vilket är användbart när man arbetar med data av okända typer under körning. Dynamisk typning tillåter kompilatorn att hoppa över typkontroll under kompileringen. Istället bestäms variabelns typ när programmet körs, baserat på värdet den har. Läs mer om dynamisk typ i den här artikeln.