在c#中,值型別不能為空。根據定義,值型別有乙個值,甚至值型別的未初始化變數也必須有乙個值。
這稱為該型別的預設值。這將導致在檢查變數是否未初始化時引發異常:
( point 提供有序的 x 座標和 y 座標整數對,該座標對在二維平面中定義乙個點。pen 定義用於繪製直線和曲線的物件。 此類不能被繼承。)
class program
}為什麼point1不為零?答案是,point 是值型別,point 的預設值是(0,0),而不是null。
沒有認識到這一點是c#中很容易犯的錯誤(也是很常見的錯誤)。
如圖:可以清楚看到提示。
許多(但不是所有)值型別有乙個isempty屬性,你可以檢查它是否等於它的預設值:
console.writeline(point1.isempty); // true
在檢查變數是否已初始化時,請確保知道該型別的未初始化變數在預設情況下會有什麼值,不要依賴於它為null…
在請求api時,得到的資料,常常會遺忘它返回來的資料是否有資料。沒有做判斷時,直接用資料進行第二次篩選條件查詢會使系統報錯。
c#中的用法
:"的用法:"
的用法:
""是在c#6.0出現的乙個新特性,其作用相當於對string.format()的簡化。
string.format()需要自己在字串中寫佔位符,在後面跟上引數。
1、用這種寫法,需要自己在字串中寫佔位符,在後面跟上引數。
string myname = 「小雷」;
console.writeline($「我是」);
2、在比較時,為了在字串中直接引用變數或方法。
int one = 1;
int twe=2;
string myname = one > twe ? "小葉" : "小雷";
console.writeline($"我是");
3、在 "",
作比較時
," ",作比較時,
"",作比較
時," 「巢狀 $」"中,特別注意乙個小括號作用。列如:
如果沒有小括號,直接提示這個。
專案開發過程中遇到的問題
問題分類 1 邏輯問題 結構 處理流程的設計有問題,尤其在多執行緒操作同乙個物件時 2 介面定義和使用問題 例如介面結構或返回情況改了,未及時編譯或更改其他模組的呼叫 3 對接問題 對講問題不是你的問題,就是我的問題,需要聯查 4 理解問題 對功能 邏輯流程或函式定義和使用的理解不清晰 5 異常處理...
開發過程中遇到的兼用問題
1.低版本瀏覽器不支援html5新增的標籤 方法 引入第三方庫html5shiv.js 2.ul標籤在ie瀏覽器中有margin,在firefox瀏覽器中有padding 方法 在設定css時,設定margin 0 padding 0 3.ie6下使用margin 0 auto 無法居中 方法 為父...
iOS開發過程中遇到的小問題
1.xcode6.1建立繼承自nsobject類的資料模型,如果需要加關於ui的屬性時需要加入uikit的標頭檔案。3.xocde6 官方的小bug,用storyboard建立的工程在4寸屏上執行時會出現上下黑條的現象,此時需要加乙個啟 方可解決此問題。4.設定view的偏移量 self.view....