主要是reference type才有可能為null。
string testValue; if(testVlaue != null) { //是否會進來 }在這邊因為string是reference type,只是他的operator"="被改寫成是用copy value的方式,看起來很像value type。所以這邊的if不會進來。
decimal testValue; if(testVlaue != null) { //是否會進來 }decimal是value type所以這個if永遠都會進來。
DateTime testValue; if(testVlaue != null) { //是否會進來 }DateTime這個data type也是令人意外的type,他是value type,所以這個if永遠都會進來。
int? testValue; if(testVlaue != null) { //是否會進來 }這個int?就是reference type,所以這個if不會進來。
沒有留言:
張貼留言