国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

簡單談一談C#類型安全問題

2023-05-20 20:23:41
字體:
來源:轉載
供稿:網友

我們可以使用指針作為一個例子。在C++中擁有一個指針,你能zi you地把它強制轉換成為任何類型,包括做出諸如把一個int*(整型指針)強制轉換成一個double *(雙精度指針)這樣的傻事。只要內存支持這種操作,它就能工作。這并不是你所想象的企業級編程語言的類型安全。

原則性的問題,C#實施最嚴ge的類型安全,以保護自己及垃圾收集器(garbage collector)。因此必須遵守C#中一些有關變量的規則:

你不能使用沒有初始化的變量。對于對象的成員變量,編譯器負責清零。而局部變量,則由你負責清零。當你使用一個沒有初始化的變量時,編譯器會教你怎么做。優點是能夠避免由于使用不經初始化的變量計算結果而導致的錯誤,而你還不知道這些奇怪的結果是如何產生的。

C#取消了不安全的類型轉換。不能把一個整型強制轉換成一個引用類型(如對象),而當向下轉換時,C#驗證這種轉換是正確的。(也就是說,派生類真的是從向下轉換的那個類派生出來的。)

邊界檢查是C#的一部分。再也不會出現這種情況:當數組實際只定義了n-1個元素,卻超額地使用了n個元素。

算術運算有可能溢出結果數據類型的范圍。C#允許在語句級或應用程序級檢測這些運算。在允許檢查溢出的情況下,當溢出發生時將會引發一個異常。

在C#中,被傳遞的引用參數是類型安全的。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 格尔木市| 蛟河市| 沅陵县| 五大连池市| 苏尼特左旗| 永定县| 松江区| 汉中市| 阳山县| 舟曲县| 女性| 太原市| 武定县| 大关县| 麻江县| 乌鲁木齐县| 清丰县| 龙井市| 广德县| 武邑县| 信丰县| 德昌县| 桂林市| 吴川市| 延边| 沁水县| 麦盖提县| 郴州市| 南召县| 桐梓县| 偃师市| 博爱县| 上虞市| 栾城县| 曲靖市| 东乡县| 米易县| 调兵山市| 崇礼县| 天津市| 出国|