它在逻辑上不可能没有价值。它将不得不返回一些东西,一些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