C 未賦值能用嗎?是 null 嗎?

2021-10-17 03:39:07 字數 500 閱讀 3990

對於乙個區域性變數,如果未賦值,是不能使用的。

int m;

if (m == null)

else

如上**,就連編譯都通不過,報錯:使用了未賦值的區域性變數。

即使把 int 改為 int? 也是這樣,也就是說區域性變數要賦值才能使用。

而對於屬性,則不然,未賦值,也能使用。

private sqlconnection conn

public void do()

else

}那未賦值的屬性,預設值是啥呢?

屬性不賦值系統會指定預設值

這就不得不說  的預設值了,因為不存在了私有自段,我們無法人工指定預設值了,那麼系統的預設值是什麼呢?

關於型別加 ?,表示這種型別的值可為 null,比如 int 本來沒有 null 值,加上 int? 就可以為 null 了。

指標能用立即數直接賦值嗎?

答案是可以,只要加乙個型別強制轉換,比如定義了 int p 可以接著 p int 0x04 此時我又想,那麼可以把乙個存著位址的變數直接賦給指標嗎?直接賦當然不可以,那麼強制型別轉換呢,於是有了以下 int temp 0x02 char p p char temp 這樣可以嗎?可以,但是編譯後警告 ...

C 事件是委託嗎?

經常會問事件是委託嗎?貿然的回答 是特殊的委託是有問題的.首先看什麼是委託 internal static class program 對應的il如下 可以看到il中可沒有什麼delegate關鍵字啊。delegate會編譯為乙個密封類,繼承自system.multicastdelegate。cla...

C 是型別安全的嗎?

什麼是型別安全?型別安全很大程度上可以等價於記憶體安全,型別安全的 不會試圖訪問自己沒被授權的記憶體區域。型別安全 常被用來形容程式語言,其根據在於該門程式語言是否提供保障型別安全的機制 有的時候也用 型別安全 形容某個程式,判別的標準在於該程式是否隱含型別錯誤。型別安全的程式語言與型別安全的程式之...