国产探花免费观看_亚洲丰满少妇自慰呻吟_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#中,被傳遞的引用參數是類型安全的。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 沙雅县| 黑河市| 揭东县| 遂平县| 南澳县| 尉氏县| 杂多县| 昭觉县| 桂林市| 大同市| 吐鲁番市| 开江县| 辽宁省| 田阳县| 乡城县| 陇南市| 自治县| 桐梓县| 汕头市| 新田县| 沧源| 大荔县| 新宁县| 乡宁县| 蓬安县| 增城市| 新乡县| 黄平县| 修文县| 怀集县| 南皮县| 仙居县| 璧山县| 宁阳县| 嘉鱼县| 三门县| 小金县| 苏尼特右旗| 宜春市| 水富县| 贵州省|