Kas yra dinaminis tipas C#

Kas Yra Dinaminis Tipas C



Dinaminis tipas pirmą kartą buvo pristatytas C# 4.0 versijoje, dinaminis tipas leidžia deklaruoti kintamuosius su dinamiškas raktinius žodžius. Tai reiškia, kad kintamojo tipas nustatomas programos vykdymo metu, o ne kompiliavimo etape. Šis lankstumas yra naudingas dirbant su duomenimis, kurių tipas lieka nežinomas iki vykdymo laiko.

Kas yra dinaminis rašymas

Dinaminis spausdinimas leidžia priskirti skirtingų tipų reikšmes tam pačiam kintamajam vykdymo metu. Skirtingai nuo statinio spausdinimo, kai kintamojo tipas nustatomas kompiliavimo metu ir išlieka fiksuotas, dinaminis spausdinimas suteikia lankstumo nustatant tipą vykdymo metu pagal priskirtą vertę. Tai pašalina kompiliavimo laiko tipo tikrinimą, atidedant jį vykdymo laikui.

Dinaminio spausdinimo metu kompiliatorius neatlieka tipo tikrinimo kompiliavimo metu. Vietoj to, kintamojo tipas nustatomas vykdymo metu, remiantis priskirta verte. Tai leidžia vėlyvą susiejimą, kai metodų iškvietimai ir narių prieiga išsprendžiami dinamiškai, atsižvelgiant į faktinį objekto tipą.







Kaip naudoti dinaminį tipą C#

Norėdami naudoti dinaminį tipą C#, tiesiog deklaruokite kintamąjį naudodami dinaminį raktinį žodį. Pavyzdžiui:



dinaminis myVariable = 'Labas pasauli!' ;

Šiame pavyzdyje myVariable deklaruojamas kaip dinaminis kintamasis ir jam priskiriama reikšmė 'Sveikas, pasauli!'. Vykdymo metu myVariable tipas bus nustatytas kaip eilutė.



Dinaminio tipo naudojimo C# pavyzdys

Šis kodas parodo dinaminio raktinio žodžio naudojimą C#:





naudojant Sistemą ;
viešosios klasės programa
{
viešas statinis tuštuma Pagrindinis ( )
{
dinaminis myDynamicVariable = 42 ;
Konsolė. WriteLine ( 'Vertė: {0}, tipas: {1}' , myDynamicVariable , myDynamicVariable. GetType ( ) ) ;

myDynamicVariable = 'Labas pasauli!' ;
Konsolė. WriteLine ( 'Vertė: {0}, tipas: {1}' , myDynamicVariable , myDynamicVariable. GetType ( ) ) ;

myDynamicVariable = klaidinga ;
Konsolė. WriteLine ( 'Vertė: {0}, tipas: {1}' , myDynamicVariable , myDynamicVariable. GetType ( ) ) ;

myDynamicVariable = DataLaikas. Dabar ;
Konsolė. WriteLine ( 'Vertė: {0}, tipas: {1}' , myDynamicVariable , myDynamicVariable. GetType ( ) ) ;

MyCustomFunction ( myDynamicVariable ) ;
}

viešas statinis tuštuma MyCustomFunction ( dinaminiai duomenys )
{
Konsolė. WriteLine ( „Pasirinktinės funkcijos išvestis: {0}“ , duomenis ) ;
}
}

Dinaminis raktinis žodis leidžia dinamiškai įvesti kintamąjį, o tai reiškia, kad jo tipas gali keistis vykdymo metu. Kode kintamasis pavadintas myDynamicVariable deklaruojamas kaip dinaminis ir iš pradžių priskiriamas sveikasis skaičius 42. Tada jis atspausdinamas kartu su tipu naudojant Console.WriteLine.

Tada myDynamicVariable priskiriama eilutės reikšmė („Hello World!“) ir vėl išspausdinama su jos tipu. Tas pats procesas kartojamas su Būlio reikšme ir pagaliau dabartinei datai bei laikui, gautai naudojant DateTime.Now.



Kode taip pat yra „MyCustomFunction“, kuri paima dinaminius parametrų duomenis ir juos išspausdina. Funkcija myDynamicVariable vadinama argumentu, rodančiu, kad dinaminius kintamuosius galima perduoti funkcijoms ir jų tipą galima nustatyti vykdymo metu.

Išvada

Dinaminis tipas C# 4.0 leidžia deklaruoti kintamuosius nenurodant jų tipo, o tai naudinga dirbant su nežinomų tipų duomenimis vykdymo metu. Dinaminis spausdinimas leidžia kompiliatoriui praleisti tipo tikrinimą kompiliavimo metu. Vietoj to, kintamojo tipas nustatomas, kai programa veikia, atsižvelgiant į turimą reikšmę. Skaitykite daugiau apie dinaminį tipą šiame straipsnyje.