집 >백엔드 개발 >C#.Net 튜토리얼 >C#에서 var와 동적의 차이점은 무엇입니까?
C#에서는 var 및 Dynamic 키워드 모두 동적으로 유형이 지정된 변수를 선언할 수 있습니다. 때로는 혼동되기 쉽지만 본질적으로 다릅니다. 다음 글에서는 C#의 var 키워드와 Dynamic 키워드의 차이점을 소개하겠습니다. 도움이 되셨으면 좋겠습니다. [동영상 튜토리얼 추천: C# tutorial]
C# var 키워드
var는 3.5의 새로운 유형의 변수 정의입니다. 암시적 유형은 암시적 유형의 로컬 유형을 정의하는 데 사용할 수 있습니다. 변수, VAR은 모든 유형을 대체할 수 있습니다.
암시적 유형 변수는 데이터 유형을 명시적으로 지정하지 않고 선언된 변수입니다. 암시적으로 형식화된 변수에서 컴파일러는 컴파일 타임에 변수를 초기화하는 데 사용된 값에서 변수 형식을 자동으로 추론합니다. 암시적으로 형식화된 변수의 개념은 C# 3.0에서 도입되었습니다. 암시적으로 형식화된 변수는 일반 변수 선언을 대체하도록 설계된 것이 아니라 LINQ(Language Integrated Query)와 같은 일부 특수한 사례를 처리하도록 설계되었습니다.
예:
using System; class A{ // Main方法 static public void Main() { // 使用var关键字创建和初始化隐式类型变量 var a = 'f'; var b = "php"; var c = 30.67d; var d = false; var e = 54544; // 输出类型 Console.WriteLine("'a'的类型是: {0} ", a.GetType()); Console.WriteLine("'b'的类型是: {0} ", b.GetType()); Console.WriteLine("'c'的类型是: {0} ", c.GetType()); Console.WriteLine("'d'的类型是: {0} ", d.GetType()); Console.WriteLine("'e'的类型是: {0} ", e.GetType()); } }
출력:
'a'的类型是: System.Char 'b'的类型是: System.String 'c'的类型是: System.Double 'd'的类型是: System.Boolean 'e'的类型是: System.Int32
C# 동적 키워드
dynamic은 4.0의 새로운 유형의 변수 정의입니다. 동적 유형은 컴파일 시간 유형 검사를 방지하는 데 사용됩니다. 컴파일러는 컴파일 타임에 동적으로 유형이 지정된 변수의 유형을 확인하지 않습니다. 대신 컴파일러는 런타임에 유형을 얻습니다. 동적으로 유형이 지정된 변수는 동적 키워드를 사용하여 생성됩니다.
예:
using System; class A { // Main方法 static public void Main() { // 使用dynamic关键字创建和初始化隐式类型变量 dynamic val1 = 'a'; dynamic val2 = "hello"; dynamic val3 = 3234; dynamic val4 = 32.55; dynamic val5 = true; // 输出类型 Console.WriteLine("val1的实际类型是:{0}", val1.GetType().ToString()); Console.WriteLine("val2的实际类型是:{0}", val2.GetType().ToString()); Console.WriteLine("val3的实际类型是:{0}", val3.GetType().ToString()); Console.WriteLine("val4的实际类型是:{0}", val4.GetType().ToString()); Console.WriteLine("val5的实际类型是:{0}", val5.GetType().ToString()); } }
출력:
val1的实际类型是:System.Char val2的实际类型是:System.String val3的实际类型是:System.Int32 val4的实际类型是:System.Double val5的实际类型是:System.Boolean
C#에서 키워드 var와 동적의 차이점은 무엇입니까?
1. 선언된 변수
var 키워드는 C# 3.0에서 도입되었습니다. 선언된 변수는 정적으로 유형이 지정되며 변수 유형은 컴파일 타임에 결정됩니다.
dynamic이라는 키워드는 C# 4.0에서 도입되었으며, 선언된 변수는 동적으로 형식화되고 변수 형식은 런타임 시 컴파일러에 의해 결정됩니다.
2. 초기화
var 키워드로 선언된 변수는 선언 시 초기화되어야 컴파일러가 초기화된 값에 따라 변수의 유형을 결정합니다. 변수가 초기화되지 않으면 오류가 발생합니다.
dynamic 키워드로 선언된 변수는 선언 시 이 유형의 변수를 초기화할 필요가 없습니다. 왜냐하면 컴파일러는 컴파일 타임에 변수 유형을 알 수 없기 때문입니다. 변수가 초기화되지 않으면 오류가 발생하지 않습니다.
3. IntelliSense 지원
var 키워드는 Visual Studio에서 IntelliSense를 지원합니다. Visual Studio
4. Application
var 키워드는 속성에 사용하거나 함수에서 값을 반환하는 데 사용할 수 없습니다. 함수 내에서 지역 변수로만 사용할 수 있습니다.
dynamic 키워드는 속성이나 함수에서 값을 반환하는 데 사용할 수 있습니다.
위 내용은 이 글의 전체 내용입니다. 모든 분들의 공부에 도움이 되었으면 좋겠습니다. 더 흥미로운 내용을 보려면 PHP 중국어 웹사이트의 관련 튜토리얼 열을 주의 깊게 살펴보세요! ! !
위 내용은 C#에서 var와 동적의 차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!