강제 변환 및 "AS"키워드 비교 : 언제 사용됩니까? <..>
의무 변환을 이해하십시오
를 탐색하십시오 "키워드가 비 침습적 유형을 수행하면 NULL을 반환하십시오. 그러나 변환이 성공하면 "변환 객체를 반환합니다. 의무적 인 전환과 비교하여 "AS"는 변환이 실패하면 이상을 유발하지 않습니다. 대신 NULL 참조를 반환하십시오.
비용 비교
과거에는 전환과 "AS"키워드의 사용 사이의 성능 차이에 차이가있었습니다. 강제 변환 작동은 하나의 스텝 유형 변환 만 포함되므로 더 빠릅니다. 그러나 현대 JIT 컴파일러의 발전으로 "AS"키워드의 효율성은 필수 변환만큼 높았습니다. 두 기술 모두 유형 변환을 빠르게 구현할 수 있으므로 성능면에서 무시할 수 있습니다.
최상의 메소드를 선택하십시오
변수를 처리 할 때 변수 유형이 테스트와 변환 사이에 변경 될 수 있기 때문에 "로"사용하는 것이 좋습니다. 이는 잘못된 전환으로 인한 비정상적인 위험을 줄입니다.
다음 점 분리 : ""키워드로서 테스트 및 변환 단계를 분리 할 수 있습니다. 이는 코드의 가독성을 향상시키고 경미한 오류의 가능성을 줄입니다.<code class="language-csharp">IMyInterface _MyObj = new MyClass(); MyClass _myCls1 = (MyClass)_MyObj;</code>
현대 모범 사례
C# 7 이상의 버전에서는 패턴 매칭이 "As"키워드를 크게 대체했습니다. 이 메커니즘은 명시 적 유형 테스트에 대한 수요를 제거하여보다 간결하고 선언적인 코드를 생성합니다. 결론
"키워드 및 필수 변환은 CLR에서 유형 변환을 수행하는 다양한 방법을 제공합니다. 필수 전환은 직접적이고 효율적인 유형 변환을 제공하지만 "비정상 대신 NULL을 반환하여 더 안전한 전환을 달성 할 수 있습니다. 최신 JIT 컴파일러는 이러한 기술간에 성능 차이를 최소화하므로 보안 및 코드 구조에 따라 적절한 선택을 할 수 있습니다. 일반적으로 변수를 처리하고 코드 유지 보수를 개선하기 위해 유형 테스트 및 변환을 분리하기 위해 "AS"를 사용하는 것이 좋습니다.
위 내용은 C#의 키워드로 캐스팅 대 '키워드 : 언제 어느 것을 사용해야합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!