컴파일 시 확인을 피하기 위해 C# 4.0 릴리스에서는 동적 유형이라는 새로운 유형이 도입되었습니다. 기본적으로 유형은 컴파일러의 표현식 값을 기반으로 할당되는 반면 이 동적 유형은 컴파일 시간 동안 유형 검사를 거치지 않습니다. 동적 키워드는 동적 유형을 정의하는 데 사용되며 동적 유형은 컴파일러에 의해 객체 유형으로 컴파일되고 실제 동적 유형은 런타임 중에 확인됩니다.
S구문:
dynamic variable_name;
C# 프로그램에서 Dynamic 유형의 사용법을 설명하려면 아래 예를 고려하십시오.
using System; //a class called program is defined class program { //main method is called static public void Main() { // Dynamic variables are declared dynamic val1 = 1234; dynamic val2 = 1234.40; dynamic val3 = false; dynamic val4 = "Hello"; //GetType() method is used to obtain the actual type of the dynamic variables used earlier Console.WriteLine("The actual type of val1 is: {0}", val1.GetType().ToString()); Console.WriteLine("The actual type of val2 is: {0}", val2.GetType().ToString()); Console.WriteLine("The actual type of val3 is: {0}", val3.GetType().ToString()); Console.WriteLine("The actual type of val4 is: {0}", val4.GetType().ToString()); } }
출력:
위 프로그램에서는 프로그램이 정의된 클래스입니다. 그런 다음 기본 메서드가 호출됩니다. 그런 다음 실제 유형을 알 수 없는 동적 변수가 선언됩니다. 그런 다음 GetType() 메서드를 사용하여 이전에 사용된 동적 변수의 실제 유형을 가져옵니다. 프로그램의 출력은 위의 스냅샷과 같습니다.
아래에 언급된 예는 다음과 같습니다.
메서드에 전달할 수 있는 동적 유형 매개변수의 사용을 보여주는 C# 프로그램
코드:
using System; //a class called program is defined class program { // a method called add is defined to which dynamic type variables are passed as parameters public static void add(dynamic r1, dynamic r2) { Console.WriteLine(r1 + r2); } // Main method is called static public void Main() { //add method is called to add whatever is passed as parameters to the method since the method accepts dynamic type variables add("H", "I"); add("Welcome to", " dynamic type"); add(20, 20); add(20.5, 1.5); add(100, "fun"); } }
출력:
위 프로그램에서는 프로그램이 정의된 클래스입니다. 그런 다음 동적 유형 변수가 실제 유형을 알 수 없는 매개변수로 전달되는 add라는 메소드가 정의됩니다. 그런 다음 기본 메서드가 호출됩니다. 그런 다음 add 메소드가 호출되어 메소드에 매개변수로 전달된 모든 항목을 추가합니다. 메소드는 동적 유형 변수를 허용하기 때문입니다. 프로그램의 출력은 위의 스냅샷에 표시된 것과 같습니다.
메서드에 전달할 수 있는 동적 유형 매개변수의 사용을 보여주는 C# 프로그램:
코드:
using System; //a namespace called example is defined namespace example { //a class called program is defined class Program { //main method is called static void Main(string[] args) { //different types of values are passed as a parameter to GetDetails method GetDet("Learning is fun and welcome to learning dynamic type in C#"); GetDet(false); GetDet(100.22); GetDet(20); Console.ReadLine(); } //a method called getdetails is defined to which dynamic type variable is passed as a parameter so it accepts any type of parameter static void GetDet(dynamic r) { Console.WriteLine(r); } } }
출력:
위 프로그램에는 example이라는 네임스페이스가 정의되어 있습니다. 그러면 프로그램이 정의된 클래스입니다. 그런 다음 기본 메서드가 호출됩니다. 그런 다음 나중에 정의되는 GetDet 메소드가 호출되며, 여기에 동적 유형 변수가 실제 유형이 알려지지 않은 매개변수로 전달됩니다. 그런 다음 동적 유형 변수가 매개변수로 전달되는 GetDet 메소드가 정의되어 모든 유형의 매개변수를 허용합니다. 프로그램의 출력은 위의 스냅샷과 같습니다.
동적 유형을 사용하면 여러 가지 장점이 있습니다. 그들은:
이 튜토리얼에서는 정의를 통해 C#의 동적 유형 개념, C#의 동적 유형 구문, 프로그래밍 예제 및 출력을 통해 C#의 동적 유형 작동, C#에서 동적 유형 사용의 이점을 이해합니다.
위 내용은 C# 동적의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!