当引用类型不为null时属性的value会为null吗?

问题描述

当引用类型不为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

当引用类型不为null时属性的value会为null吗?的相关文章

EF单向1对1,外键属性为NULL时,当前整个对象都为null了

问题描述 比如我现在有2个类classProject{publiclongid{get;set;}publiclong?Employeeid{get;set;}//审核人publicEmployeeem{get;set;}}classEmployee{pubilclongid{get;set;}} 我在project中配置HasRequired(x=>x.em).WithMany().HasForeignKey(x=>x.Employeeid);因为project中的Employeeid有可能

简单方法判断JavaScript对象为null或者属性为空

 首先说下null与undefined区别: 对已声明但未初始化的和未声明的变量执行typeof,都返回"undefined". null表示一个空对象指针,typeof操作会返回"object". 一般不显式的把变量的值设置为undefined,但null相反,对于将要保存对象的变量,应明确的让该变量保存null值.   1 2 3 4 5 6 7 var bj; alert(bj); //"undefined" bj = null; aler

小心陷阱!MySQL中处理Null时需注意两点_Mysql

MySQL数据库是一个基于结构化数据的开源数据库.SQL语句是MySQL数据库中核心语言.不过在MySQL数据库中执行SQL语句,需要小心两个陷阱. 陷阱一:空值不一定为空 空值是一个比较特殊的字段.在MySQL数据库中,在不同的情形下,空值往往代表不同的含义.这是MySQL数据库的一种特性.如在普通的字段中(字符型的数据),空值就是表示空值.但是如果将一个空值的数据插入到TimesTamp类型的字段中,空值就不一定为空.此时为出现什么情况呢(如下图)? 我先创建了一个表.在这个表中有两个字段:

简单方法判断JavaScript对象为null或者属性为空_javascript技巧

首先说下null与undefined区别: 对已声明但未初始化的和未声明的变量执行typeof,都返回"undefined". null表示一个空对象指针,typeof操作会返回"object". 一般不显式的把变量的值设置为undefined,但null相反,对于将要保存对象的变量,应明确的让该变量保存null值. var bj; alert(bj); //"undefined" bj = null; alert(typeof bj); //&

android-Android在变量声明时用不用提前指定为null

问题描述 Android在变量声明时用不用提前指定为null public class MainActivity extends Activity { private ListView listview = null; private TextView textView = null; private String data = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(

微信支付 获取预支付ID时 调用官方接口返回为NULL

问题描述 微信支付 获取预支付ID时 调用官方接口返回为NULL 解决方案 没有注册微信支付接口,所以是null.找腾讯注册. 解决方案二: 官方例子是官方例子,微信支付接口是要注册的,人家靠这个盈利.官方例子不一定非要写上具体的ID.有效的ID是一串数字. 具体含义,该网站有相应的标准文本PDF(要积分的).unifiedorder含义是唯一码,具体使用是一串数字.申请注册后就会得到. 微信支付涉及金融,是要经过银行的.该标准是银行发布的.制定者由银行.支付宝.微信支付等不同人员参与.通过后,

nsnull-请求数据为null时,如何判断?

问题描述 请求数据为null时,如何判断? 2015-01-27 10:02:42.278 MSLife[568:60b] -[NSNull length]: unrecognized selector sent to instance 0xcfc068 2015-01-27 10:02:42.281 MSLife[568:60b] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason

String类型值为null时部分(同样的定义,有些字段为null插入不报错)插入表字段为varchar的报:无法识别JDBC类型 : 0。求大神指导。。。

问题描述 报错信息(用的DB2):代码片段:很奇怪的一件事,不知道是不是数据库版本原因.这个插入有好多个字段,很多java中定义String类型,数据库中定义varchar的,有些字段为nul时可以插入,有些则报错,使用SQL语句在db2客户端内执行都是可以的.很不解... 解决方案 解决方案二:正常情况下,varchar类型的字段是不会报这种错的,不过其他的 number啊 date 类型就会报这种错误这时你在给字段赋值的时候要判断一下如果不是String类型就转null就行了解决方案三:同意

sql语句-字段是ip,ip1,iP2,ip1是null时ip2可能为null,也可能不是,如图T1

问题描述 字段是ip,ip1,iP2,ip1是null时ip2可能为null,也可能不是,如图T1 上图T1 要有如下T2的效果 这是t2 select c.ip,ip1,ip2 from ( select a.ip as ip,a.ip1,b.ip2 from ( select ip,ip1 from test4 where (ip2 is null and ip1 is not null) or(ip1 is not null and ip2 is not null) ) a inner j