【C#】学习笔记(4) 值类型和引用类型相关(Null相关)

Reference and Value Types


  

【C#】学习笔记(4) 值类型和引用类型相关(Null相关)_第1张图片

Value Types(值类型):

  struct(结构体)

  独立的实例或者是拷贝

  值的改变不会影响其它拷贝

  值就是它所代表的信息

  没有引用,所以不可空(null)

  不需要验空(null)

Reference(引用类型):

  class(类类型)

  单个共享的实例

  值的改变会影响到引用它的引用

  引用指向信息

  引用可能会指向空地址?(NullReference 也就是空指针)

  需要验空

 


 

 举个子:

【C#】学习笔记(4) 值类型和引用类型相关(Null相关)_第2张图片

string是class,所以它是引用类型,so它可以为null。

【C#】学习笔记(4) 值类型和引用类型相关(Null相关)_第3张图片

int是struct,所以它是值类型,不可以为null。

 

 那有没有办法可以让值类型也可以为null呢。Nullable能帮助我们完成这样的需要。

来看一下栗子。

 

使用Nullable前:

 【C#】学习笔记(4) 值类型和引用类型相关(Null相关)_第4张图片

使用Nullable后:

   【C#】学习笔记(4) 值类型和引用类型相关(Null相关)_第5张图片

当然啦,在C#中有更加简便的写法

【C#】学习笔记(4) 值类型和引用类型相关(Null相关)_第6张图片


 

string.IsNullOrEmpty()
string.IsNullOrWhiteSpace()
的栗子:
【C#】学习笔记(4) 值类型和引用类型相关(Null相关)_第7张图片

判断三种情况分别输出的结果。

①为空时:

②为空字符串时:

③为空格时:

 

 

 

 

你可能感兴趣的:(【C#】学习笔记(4) 值类型和引用类型相关(Null相关))