程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> [c#] 可空類型的實現原理,

[c#] 可空類型的實現原理,

編輯:C#入門知識

[c#] 可空類型的實現原理,


  int? 是可為null的值類型。只比int多一個值就是null。

  

思考:

  同樣的內存空間,怎麼實現的多一個值的?都是4字節,32位,int?靠什麼存在一個null值的。

 

發現:

  分析一下內存,看看如何實現。

  當int i = max;  int? j = max;  發現j的下一個4字節地址的值和i一樣。

  

 

  給j賦值null,原來的1變為0.

  

 

  給j賦值0,原來的0變為1. j賦值1,還是1. j賦值負數,還是1.

  

 

結果:

斷定int? 原來是8個字節,前4個字節為1時,不為null。後4個字節和普通的int類型完全一樣。  

 

int? bool? 這種可空類型的存在意義

1.為了匹配數據庫中對應的類型。

2.有的控件狀態就是3種。如:checkbox ,選中、未選中、未全選

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved