亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

CLR via C#,2

發布時間:2020-05-30 20:44:19 來源:網絡 閱讀:522 作者:dantanmingxin 欄目:編程語言
這兩天陸陸續續的看了點小知識點。明白了CLR和FCL的對應關系,as要比is性能好多了,as是直接返回轉換成功的類型或者是null,is只是返回true或false,在新生成一個對象時,內存堆上同時額外要生成類型對象指針和同步塊索引,執行的時候生成JIT編譯的代碼。String和string沒有區別。由于C#的string(一個關鍵字)直接映射到System.String(一個FCL類型),所以兩者沒有區別,都可以使用。在C#中,int始終映射到System.Int32,所以不管在什么操作系統上運行,代表的都是32位整數。對于數值類型,“不安全”意味著在轉換之后,有可能丟失精度或者數量級,就要求進行顯式轉型。C#是進行截斷處理而不是向上取整。
Byte b = 100;
     b = checked((Byte)(b + 155));//會進行檢測是否溢出Byte,運行會報錯
     Console.WriteLine(b);
     b = (Byte)checked(b + 111);//不會進行檢測是否溢出,運行不會報錯,最后只是生成隨機數
     Console.WriteLine(b);
checked {
      b += 200;//代碼塊進行溢出檢查,會報溢出錯誤
      }
重要提示:由于checked操作符和checked語句唯一的作用就是決定生成哪一個版本的加、減、乘和數據轉換IL指令,所以在一個checked操作符或者語句中調用一個方法,不會對該方法造成任何影響。
System.Numerics.BigInteger類型也在內部使用一個UInt32數組來表示一個任意大的整數,它的值沒有上限和下限,和Decimal沒有IL指令。所以checked和unchecked操作符、語句以及編譯器開關都失去了效用。
在文檔中查看一個類型時,任何稱為“類”的類型都是引用類型。例如,System.Exception類、System.IO.FileStream類以及System.Random類都是引用類型。相反,文檔將所有值類型都稱為結構或枚舉。例如,System.Int32結構、System.Boolean結構、System.Decimal結構、System.TimeSpan結構、System.DayOfWeek枚舉、System.IO.FileAttributes枚舉以及System.Drawing.FontStyle枚舉都是值類型。
引用類型向另一個類進行復制時,只是復制了內存指針,兩個變量的棧保存的是同一個引用地址。值類型進行復制時,在棧上另外分配空間并復制成員,當改變其中一個值時,另一個值不會變。
裝箱是要把值類型從棧中復制到托管堆中,然后返回一個引用地址。拆箱是獲取已裝箱的對象的字段地址。拆箱不要求在內存中復制任何字節。進行拆箱賦值時,要先拆箱為裝箱之前的類型,然后進行類型轉換。Int16 x = 16;
            object o = x;//裝箱,o引用已裝箱的x的實例
            Int32 y = (Int32)(Int16)o;//拆箱后要進行正確的類型轉換
如果想檢查同一性(看兩個引用是否指向同一個對象),那么務必調用ReferenceEquals,而不應使用C#的==操作符(除非先把兩個操作數都轉型為Object),因為其中某個操作數的類型可能重載了==操作符,為其賦予有別于“同一性”的其他語義。
以后還是自己寫在word文檔里吧,這些瑣碎的東西沒有經過很細致的思考的。不好不好。
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

临朐县| 嵩明县| 和静县| 炉霍县| 弥勒县| 乌什县| 浦北县| 枣阳市| 禹州市| 鄂伦春自治旗| 吕梁市| 清水河县| 大埔区| 安仁县| 兴义市| 宁德市| 四川省| 唐山市| 弋阳县| 双桥区| 高雄县| 阿克陶县| 广德县| 临泉县| 金阳县| 揭东县| 谷城县| 枣阳市| 长泰县| 莲花县| 吕梁市| 清涧县| 江西省| 永年县| 荣昌县| 宁化县| 云南省| 池州市| 平塘县| 罗城| 长乐市|