它在邏輯上不可能沒有價值。它將不得不返回一些東西,一些1和0的組合,至少被認爲是對Tuple<String, String>[]
的引用,所以在這個程度上它具有價值。
這也是在類中的所有字段將會設置爲默認值(default(T)
因爲他們是什麼類型T
,這是null
所有引用類型)的情況下。否則,就有可能讓一個對象處於一種狀態,這種狀態不僅對它所做的事情沒有任何意義,而且對於.NET期望的對象的規則沒有任何意義。這包括自動屬性後面的隱藏字段。
現在,在一些語言中,我們可以做這樣的等價物:
public Tuple<String, String>[] Breadcrumbs
{
get
{
Tuple<String, String>[] whatIWillSend;
return whatIWillSend;
}
}
如果被允許,whatIWillSend
必須由您的任何Concious酒店決定不定義的值,但發生的事情是在當時的記憶中。它可能爲空,它可能是巧合的有效的Tuple<String, String>[]
(但不是你想要使用的那個!),它可能是運行時現在認爲的Dictionary<int, List<string>>
實際上是Tuple<String, String>[]
(這是整個系統的類型安全性),它可能是decimal
結構的四分之一。 (在允許這樣的事情的語言中,它也可能是一個衆所周知的價值,即這些語言的調試器在這些情況下設置的恰恰是幫助找到由它引起的錯誤)。
這是我們可以找到的物業沒有價值的最接近的東西。請注意:
- 它仍然有一個值,只是沒有意義的價值。
- 無論如何,我們不允許在C#中執行此操作。
+1爲「難以形容的名字」:) – 2012-01-27 15:17:56