2
A
답변
6
캐스트가 실패 할 경우 첫 번째 구문은 InvalidCastException
을 던지고 변수가 문자열이 아니면 as
연산자는 null을 반환합니다.
더 좋은 방법은 무엇입니까?
달성하려는 목표에 따라 달라집니다. 키워드 방어 캐스트는 같은 특정 유형의 객체를 캐스팅하는 시도로 as
의
1
, 예외를 throw하지 않습니다. 실패 할 경우 결과 변수는 null
입니다. 반면에 직접 캐스팅은 1 way ticket
캐스팅입니다. 실패하면 예외가 발생합니다.
본질적으로 객체는 특정 유형으로 캐스트 할 수 있지만 똑같은 일을하지만 캐스트가 유효하지 않은 경우 예외를 throw하고 다른 하나는 "정상적으로 실패합니다".
사용하는 시나리오는 실제로 시나리오에 따라 다릅니다. 변수가 코드의 필수 부분 인 경우 (즉, 형 변환이 실패한 경우 진행중인 코드를 계속 수행 할 필요가없는 경우) 직접 형변환을 사용하고 예외를 처리하십시오. 그러나 예외를 던지거나 null 값을 처리하지 않는 것이 매우 유용합니다.
3
생각해 캐스팅에 하나있을 때
관련 문제
- 1. URL 문자열
- 2. URL 끝에 문자열 추가
- 3. 제거 URL 쿼리 문자열
- 4. Facebook 'Like'버튼과 # URL 문자열?
- 5. 압축 자바 문자열 (URL)
- 6. 문자열 리소스 xml의 URL
- 7. 데이터베이스 쿼리 문자열 URL
- 8. 저장 URL 문자열 열은
- 9. URL 쿼리 문자열 인코딩
- 10. 제거에 "http : //"URL 문자열
- 11. HttpURLConnection의 URL 문자열
- 12. 문자열 내에서 URL 추출
- 13. URL 문자열 getiing 도와주세요
- 14. URL 문자열 업데이트
- 15. 절대 URL 문자열
- 16. jquery URL 문자열 조작
- 17. URL 문자열 변경
- 18. URL 또는 문자열 결정 PHP
- 19. 의 URL 인코딩 된 문자열
- 20. 톰캣이 URL 인코딩 된 문자열
- 21. URL 쿼리 작업 ASP.NET의 문자열
- 22. URL 재 작성 쿼리 문자열
- 23. JS에서 Drupal까지의 문자열 인코딩 URL
- 24. "www."를 추가하십시오. URL 문자열
- 25. : 문자열 문자열
- 26. 문자열 형식 : 문자열 상수의 문자열 지정자
- 27. 문자열
- 28. JavaScript를 사용하여 OrganizationData.svc에 대한 URL 문자열 만들기
- 29. 문자열
- 30. URL 문자열 (PHP)을 기반으로 콘텐츠 숨기기
다른 많은 질문의 Repost 나는 중복 의미 : [C#에서 다음과 같은 캐스트의 차이점은 무엇입니까?] (http://stackoverflow.com/questions/702234/what-is-the-difference-between-the- 후속 주행 중) – Bastardo