Шта је динамичко куцање
Динамичко куцање омогућава додељивање различитих типова вредности истој променљивој током времена извршавања. За разлику од статичког куцања, где се тип променљиве одређује у време компајлирања и остаје фиксиран, динамичко куцање нуди флексибилност одређивањем типа у времену извођења на основу додељене вредности. Елиминише проверу типа у време компајлирања тако што је одлаже на време извођења.
У динамичком куцању, проверу типа не врши компајлер током компилације. Уместо тога, тип променљиве се одређује током извршавања на основу додељене вредности. Ово омогућава касно повезивање, где се позиви метода и приступ члановима решавају динамички на основу стварног типа објекта.
Како користити динамички тип у Ц#
Да бисте користили динамички тип у Ц#, једноставно декларишете променљиву користећи кључну реч динамиц. На пример:
динамиц миВариабле = 'Здраво Свете!' ;
У овом примеру, миВариабле је декларисана као динамичка променљива и додељена јој је вредност „Здраво, свет!“. У току извршавања, тип миВариабле ће бити одређен као стринг.
Пример коришћења динамичког типа у Ц#
Овај код показује употребу динамичке кључне речи у Ц#:
користећи Систем ;
Програм јавног часа
{
јавности статична празнина Главни ( )
{
динамиц миДинамицВариабле = 42 ;
Конзола. ВритеЛине ( „Вредност: {0}, Тип: {1}“ , миДинамицВариабле , миДинамицВариабле. ГетТипе ( ) ) ;
миДинамицВариабле = 'Здраво Свете!' ;
Конзола. ВритеЛине ( „Вредност: {0}, Тип: {1}“ , миДинамицВариабле , миДинамицВариабле. ГетТипе ( ) ) ;
миДинамицВариабле = лажно ;
Конзола. ВритеЛине ( „Вредност: {0}, Тип: {1}“ , миДинамицВариабле , миДинамицВариабле. ГетТипе ( ) ) ;
миДинамицВариабле = Датум време. Сада ;
Конзола. ВритеЛине ( „Вредност: {0}, Тип: {1}“ , миДинамицВариабле , миДинамицВариабле. ГетТипе ( ) ) ;
МиЦустомФунцтион ( миДинамицВариабле ) ;
}
јавности статична празнина МиЦустомФунцтион ( динамички подаци )
{
Конзола. ВритеЛине ( „Излаз прилагођене функције: {0}“ , података ) ;
}
}
Динамичка кључна реч омогућава да се променљива динамички откуцава, што значи да се њен тип може променити током извршавања. У коду, променљива под називом миДинамицВариабле је декларисана као динамичка и иницијално јој је додељена целобројна вредност 42. Затим се штампа заједно са својим типом помоћу Цонсоле.ВритеЛине.
Затим, миДинамицВариабле се додељује вредност стринга („Хелло Ворлд!“) и поново се штампа са својим типом. Исти процес се понавља за логичку вредност и коначно за тренутни датум и време добијени коришћењем ДатеТиме.Нов.
Код такође укључује МиЦустомФунцтион која узима динамичке податке о параметрима и штампа их. Функција миДинамицВариабле се назива аргументом, показујући да се динамичке променљиве могу прослеђивати функцијама и да се њихов тип може одредити током извршавања.
Закључак
Динамички тип у Ц# 4.0 омогућава да се променљиве декларишу без навођења њиховог типа, што је од помоћи када се ради са подацима непознатих типова у току извршавања. Динамичко куцање омогућава компајлеру да прескочи проверу типа током компилације. Уместо тога, тип променљиве се одређује када се програм покрене, на основу вредности коју држи. Прочитајте више о динамичком типу у овом чланку.