问题描述
- 当引用类型不为null时属性的value会为null吗?
- 当一个类型为null时,value肯定是为null的,那么当他不为null时那么属性.value有没有机会可以为null呢?
解决方案
C#更没有value了
你说的是Nullable<T>
泛型么?那么取决于hasvalue的属性。
当然,你可以故意构造一个不符合这个原则的类
class AlwaysNull
{
public object value { get { return null; } }
}
那么它肯定都是返回null
解决方案二:
value属性不是java语言的一部分。要看具体类型。
解决方案三:
对象不为null,则其value肯定不为null;如果对象不为null,其的某个属性可能是为null的。因为对象可能有多个属性,对象不为null,不表示其属性就不为null。
解决方案四:
对象不为null,则其value肯定不为null;如果对象不为null,其的某个属性可能是为null的。因为对象可能有多个属性,对象不为null,不表示其属性就不为null。
解决方案五:
好奇怪的问题,我还想问你属性你打算如何自动初始化
你可以定义一个抽象类吧?
abstract class AB { ... }
你可以定义一个封闭了构造函数的类吧
class NC
{
private NC() { }
}
你可以定义包含了很多重载形式的类型吧
...
那好
class A
{
public AB value { get; set; }
public NC value1 { get; set; }
}
请问你让编译器怎么自动帮你初始化?
时间: 2024-11-02 03:36:47