.net 프레임워크에 도입된 var 대상 유형 설명
1. 신기한 var은 C#3.0에 변수 성명 var을 추가했습니다. 이 성명은 JavaScript의 var과 유사하지만 다릅니다.
1. 공통점, 그는 var로 모든 유형의 국부 변수를 설명할 수 있다.
2. 다른 점은 컴파일러에게만 이 변수는 초기화 표현식에 따라 변수의 유형을 추정해야 하고 국부 변수일 뿐이라는 것을 알려준다.
2. 공통점은 그가 성명할 수 있다.
var integer = 10;
var name = "edisundong";
var numbers = new int[] { 1, 2, 3 };
3. 서로 다른 점 var은 단지 키워드일 뿐이다. 그는 C#3.0의 새로운 유형이 아니라 컴파일러에게 이 변수는 초기화 표현식에 따라 변수의 유형을 추정해야 한다고 알려준다. 위의 문장은 다음과 같다.
int integer = 10;
string name = " edisundong ";
int[] numbers = new int[] { 1, 2, 3 };
4. 주의점
1. 성명할 때 반드시 동시에 값을 부여해야 한다. 성명은 값 부여 번호 오른쪽의 표현식에 의존하기 때문이다. 만약에 아래의 문장이 있다면.
var integer;
integer = 10;
컴파일할 때 Implicitly typed locals must be initialized 오류가 보고됩니다.
2. var을 사용하여 국부 변수를 성명한 후에도 그는 강한 유형을 가지고 있으며 다음과 같은 테스트를 할 수 있다.
var integer = 10;
integer = " edisundong ";
컴파일할 때 Cannot implicitly convert type string to int 오류를 보고합니다.
3. 초기화기 표현식의 컴파일러 형식은 빈 (null) 형식이 될 수 없습니다. 컴파일러는null에 따라 국부 변수의 유형을 추정할 수 없습니다. 아래의 문장이 있으면 다음과 같습니다.
var integer = null;
컴파일할 때 Cannot assign to an implicitly typed local 오류가 보고됩니다.
4. 초기화 문장은 표현식이어야 한다. 초기화 표현식은 그 자신을 포함할 수 없지만 대상이나 집합 초기화기를 포함하는 new 표현식(즉 익명 형식)이 될 수 있다.만약 이렇게 성명할 수 있다면:
var coll = new Hashtable();
5. var의 성명은 국부 변수에만 한정되며foreach,for,using 문장에도 포함될 수 있습니다.다음 사용이 잘못되었습니다.
class Program
{
private var i = 10; // 。
static void Main(string[] args)
{ }
}
컴파일할 때 The contextual keyword var may only appear within a local variable declaration 오류를 보고합니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.