Microsoft MVP성태의 닷넷 이야기
다음 제네릭에서 널익셉션이 뜨는 이유를 알수있을까요? [링크 복사], [링크+제목 복사],
조회: 10847
글쓴 사람
EK
홈페이지
첨부 파일
 

internal class Program
{
    static void Main(string[] args)
    {
        F<int>();
    }

    private static void F<T>()
    {
        object? obj = null;
        var value = (T?)obj;
    }
}

obj를 int? 로 캐스팅할줄알았는데
그냥 int로 캐스팅해서 예외터지네요.
왜 그럴까요?








[최초 등록일: ]
[최종 수정일: 4/12/2024]


비밀번호

댓글 작성자
 



2024-04-12 07시03분
엄밀히 object 타입의 인스턴스가 다른 타입으로 형변환 가능한 것은 아닙니다. 그게 가능한 경우는, object로 형변환했던 원래의 인스턴스 타입이어야만 합니다.

가령, 다음과 같이 했다면,

int a = 5;
object obj = a;

int n = (int)obj;

원래의 형변환이 가능합니다. 하지만, object obj = null; 이라고 했으면 해당 obj의 타입은 System.Object이기 때문에 그 어떤 것으로도 형변환이 되지 않습니다.

그리고, 캐스팅 연산자, 즉 괄호를 사용해 형변환하는 경우 대상으로 형변환이 안 되면 예외를 발생시킵니다. 예외를 원하지 않는다면 is나 as 연산자를 사용해 형변환을 해야 합니다.
정성태

... 16  17  18  19  20  21  22  23  24  25  26  27  28  [29]  30  ...
NoWriterDateCnt.TitleFile(s)
5202민성8/6/201918262WPF에서 <Application.Resources에 xaml에 있는 icon 값을 저장하고 xaml에 불러다 사용하고 싶은데요 [1]
5201김대훈8/3/201918612상속시 생성자에 대해 질문드립니다 [3]
5200농상7/30/201921780foreach로 데이터 변경 [2]
5190오리다람7/20/201918527질문드립니다. [3]
5189진우7/19/201917209C# 스레드풀 코어별 실행 문의 [2]
5188황태관7/19/201916670비주얼베이직 2019 실행 할때 마다.. [3]
5187플하7/19/201920247UWP 관련 궁금한 사항에 대해서 [1]
5186김대훈7/14/201919297박싱과 언박싱에 대해 [2]
5185농상7/13/201917246Nullable에 대해서 [1]
5184김대훈7/4/201916723저자님의 책을 다 본후에는 [2]
51837/2/201918750.NET Compact Freamwork 컨트롤러 더블버퍼링 [1]
5182wpf ...7/2/201918060wpf 질문 드립니다. [1]파일 다운로드1
51817/1/201919921DataGridview Doublebuffer 에 대해서 질문드립니다. [2]
5180김대훈6/25/201919631배열과 반복문에서 질문드립니다 [2]
5177농상6/13/201922228멀티스레드 건의 [2]
5176이선호6/13/201918563안녕하세요. 닷넷 문제로 검색하다 알게되어 들어왔습니다. 현재 IIS 문제가 있어 질문드립니다. [1]
5175Chobo6/12/201918633WPF Ellipse 그리기! [3]
5174농상6/11/201918535ThreadPool 조인에 관해 [1]
5173전우치6/9/201919438공유 리소스에 대한 스레드 동기화 처리를 위해서 lock 이용 시 문의 [3]
5172김대훈6/7/201917939너무힘드네요 공부에 대한조언부탁드립니다 [2]
5171조남석6/4/201917441EX)11-2(treeview)에 대한 질문입니다. [3]
5170레리6/4/201918267Setup 프로젝트 레지스트리 설정 관련 질문입니다. [1]파일 다운로드1
5169농상6/3/201918040멀티스레드 파라미터 관련 [2]
5168익명유저5/30/201917400항상 정말 감사드립니다... [1]
5167WPF5/23/201918050질문드립니다. [1]
5165이대희5/22/201916364Visual Studio 설치 구성요소 문의 (C# 7.3 개정판 관련) [1]
... 16  17  18  19  20  21  22  23  24  25  26  27  28  [29]  30  ...