C# 유형 변환, is, as, 단일 물음표, 이중 물음표 해독
4210 단어 유형 변환
C#에서 유형의 변환은 명시적 및 암시적 두 가지로 나뉘는데 기본 규칙은 다음과 같습니다.
4
4
4
4
4
4
4
다음은 AS와 IS 조작부호에 대해 말씀드리겠습니다.
4
4
4
object objTest = 11;
if( objTest is int )
{
int nValue = (int )objTest;
}
4
4
데이터 유형 변환에서 C#은 다른 언어에 비해 엄격하므로 데이터 변환을 명시적으로 수행해야 합니다.
조작의 편의를 위해 C#도 일종의 is조작부호를 제공하여 매우 편리하게 시국이 유형과 호환되는지 자동으로 검사하고 결과를 되돌려준다.그리고 이상을 던지지 않습니다.대상이 null로 인용되면 is는false를 되돌려줍니다.
if (cls1 is Class2)
{
Class2 cls2 = (Class2)cls1;
}
else
System.Console.WriteLine("Error 2!");
평소에 자신도 이런 방식으로 유형 전환을 많이 했지만 오늘은 다른 방식을 보고 as조작부호를 비교한 결과 as가 is보다 성능을 조금 높일 수 있다는 것을 알게 되었다.
Class2 cls2 = cls1 as Class2;
if (cls2!=null)
System.Console.WriteLine("Ok");
else
System.Console.WriteLine("Error!");
as는 인용 대상이 호환되는지 확인합니다. 호환되지 않으면null로 되돌아오기 때문에null의 판단이 필요합니다.
두 가지 방식을 비교하면 is는 두 번의 대상 유형 검사를 해야 하고 as는 한 번의 대상 유형 검사를 해야 하며, 다시 한 번null 검사를 해야 하며,null 검사 비용은 대상 유형 검사보다 적다.AS의 방법에 비해 효율이 높다.
C#에서 물음표 사용법(표현식 아님): 단일 물음표, 이중 물음표.
4
4
public int? para;
//public int para; , , !
public int par()
{
return this.para ?? 0;
}
다음으로 이동:http://www.cnblogs.com/zjp8023/archive/2008/11/25/ASIS.html
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
C# 유형 변환, is, as, 단일 물음표, 이중 물음표 해독기본 클래스 대상이 하위 클래스 대상으로 전환되면 반드시 현식 변환을 해야 한다. as: 호환되는 참조 유형 간에 변환을 수행하는 데 사용됩니다 전환이 불가능할 경우 as는null(새로운 대상이 발생하지 않음)로 돌...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.