假設我有三個類A,B和C,它們嵌套的方式使我可以通過A訪問C到B(即A.B.C)。如果我試圖訪問C的一個簡單屬性,比如說Id類型int,並且我沒有在A中創建B的新實例(或B中的C),我會得到一個'Object reference not set to an instance of一個東西。'錯誤。未將對象引用設置爲對象的實例。 - DefaultValue
我想知道的是,如果有一種簡單的方式說讓我A.B.C.Id,並且如果你不能在某種程度上產生一個空值,那麼給我一個默認值。
var myId = A.B.C.Id <some operator> -1;
目前我正在做這樣的事情,它感覺很糟糕。
var myId = A == null ? -1 : A.B == null ? -1 : A.B.C == null ? -1 : A.B.C.Id;
爲什麼downwote? – TcKs 2009-08-11 14:37:50
我接受這個作爲我的問題的答案,因爲事實上TcK已經盡最大努力爲我的情況提供解決方案。我在一個理想的世界裏感知,我會重構並擺脫這種情況,但不幸我不在那裏工作:)。 – voiddog 2009-08-14 09:20:35