Co to jest typ dynamiczny w C#

Co To Jest Typ Dynamiczny W C



Typ dynamiczny został po raz pierwszy wprowadzony w C# w wersji 4.0, typ dynamiczny umożliwia deklarowanie zmiennych za pomocą dynamiczny słowa kluczowe. Oznacza to, że typ zmiennej jest określany w trakcie wykonywania programu, a nie w fazie kompilacji. Ta elastyczność okazuje się korzystna w przypadku danych, których typ pozostaje nieznany do czasu uruchomienia.

Co to jest pisanie dynamiczne

Typowanie dynamiczne umożliwia przypisywanie różnych typów wartości do tej samej zmiennej w czasie wykonywania. W przeciwieństwie do typowania statycznego, w którym typ zmiennej jest określany w czasie kompilacji i pozostaje stały, typowanie dynamiczne zapewnia elastyczność dzięki określaniu typu w czasie wykonywania na podstawie przypisanej wartości. Eliminuje sprawdzanie typu w czasie kompilacji, odkładając je do środowiska wykonawczego.

Podczas typowania dynamicznego sprawdzanie typu nie jest wykonywane przez kompilator podczas kompilacji. Zamiast tego typ zmiennej jest określany w czasie wykonywania na podstawie przypisanej wartości. Pozwala to na późne wiązanie, w którym wywołania metod i dostęp do elementów członkowskich są rozwiązywane dynamicznie na podstawie rzeczywistego typu obiektu.







Jak używać typu dynamicznego w C#

Aby użyć typu dynamicznego w języku C#, wystarczy zadeklarować zmienną za pomocą słowa kluczowego dynamic. Na przykład:



dynamiczna moja zmienna = 'Witaj świecie!' ;

W tym przykładzie myVariable jest zadeklarowana jako zmienna dynamiczna i ma przypisaną wartość „Hello, World!”. W czasie wykonywania typ myVariable zostanie określony jako ciąg znaków.



Przykład użycia typu dynamicznego w C#

Ten kod demonstruje użycie dynamicznego słowa kluczowego w języku C#:





przy użyciu Systemu ;
program klasy publicznej
{
publiczny statyczny próżnia Główny ( )
{
dynamiczna mojaZmiennaDynamiczna = 42 ;
Konsola. Linia zapisu ( „Wartość: {0}, typ: {1}” , mojaZmiennaDynamiczna , mojaZmiennaDynamiczna. Pobierz typ ( ) ) ;

mojaZmiennaDynamiczna = 'Witaj świecie!' ;
Konsola. Linia zapisu ( „Wartość: {0}, typ: {1}” , mojaZmiennaDynamiczna , mojaZmiennaDynamiczna. Pobierz typ ( ) ) ;

mojaZmiennaDynamiczna = FAŁSZ ;
Konsola. Linia zapisu ( „Wartość: {0}, typ: {1}” , mojaZmiennaDynamiczna , mojaZmiennaDynamiczna. Pobierz typ ( ) ) ;

mojaZmiennaDynamiczna = DataGodzina. Teraz ;
Konsola. Linia zapisu ( „Wartość: {0}, typ: {1}” , mojaZmiennaDynamiczna , mojaZmiennaDynamiczna. Pobierz typ ( ) ) ;

Moja funkcja niestandardowa ( mojaZmiennaDynamiczna ) ;
}

publiczny statyczny próżnia Moja funkcja niestandardowa ( dane dynamiczne )
{
Konsola. Linia zapisu ( „Wyjście funkcji niestandardowej: {0}” , dane ) ;
}
}

Słowo kluczowe dynamic umożliwia dynamiczne wpisywanie zmiennej, co oznacza, że ​​jej typ może się zmieniać w czasie wykonywania. W kodzie zmienna o nazwie mojaZmiennaDynamiczna jest zadeklarowany jako dynamiczny i początkowo ma przypisaną wartość całkowitą równą 42. Następnie jest drukowany wraz ze swoim typem przy użyciu Console.WriteLine.

Następnie zmiennej myDynamicVariable przypisywana jest wartość ciągu („Hello World!”) i ponownie drukowana z jej typem. Ten sam proces jest powtarzany dla wartości logicznej, a na końcu dla bieżącej daty i godziny uzyskanych za pomocą funkcji DateTime.Now.



Kod zawiera również funkcję MyCustomFunction, która pobiera dane parametrów dynamicznych i drukuje je. Funkcja myDynamicVariable jest nazywana argumentem i pokazuje, że zmienne dynamiczne mogą być przekazywane do funkcji, a ich typ można określić w czasie wykonywania.

Wniosek

Typ dynamiczny w języku C# 4.0 umożliwia deklarowanie zmiennych bez określania ich typu, co jest przydatne podczas pracy z danymi nieznanego typu w czasie wykonywania. Typowanie dynamiczne pozwala kompilatorowi pominąć sprawdzanie typu podczas kompilacji. Zamiast tego typ zmiennej jest określany podczas działania programu na podstawie wartości, którą przechowuje. Przeczytaj więcej o typie dynamicznym w tym artykule.