日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

艰难的道路

發布時間:2023/12/19 综合教程 26 生活家
生活随笔 收集整理的這篇文章主要介紹了 艰难的道路 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

不為自己被淘汰找借口,因為自己還不夠努力,因為自己很自大,因為自己的心浮氣躁,因為自己的無知天真,職場不同于大學,這是一個真正的戰場,你不去奮斗,到頭來苦的還是自己,就拿C#中的很多語法糖而言,自己能夠不看代碼,不看書本,不看筆記,憑借自己的印象說出來的也就那么幾個,今天早上起床后吃了早飯,就開始學習anytao的<<你必須知道的.NET第二版>>,中間也遇到了不少的問題,苦于自己不會使用搜索引擎,很多東西都不知道怎么去查詢關鍵字,只好在作者的博客發問了。

這個點正在回顧裝箱和拆箱的知識,在學校的時候這個知識點幾乎沒有理解,只知道在Console中寫一個小Demo,然后也就驕傲的說我明白裝箱和拆箱了,但是直到今天,我也只曉得一些最基礎的概念,裝箱是值類型轉換為引用類型,拆箱是引用類型轉換為值類型,伴隨著裝箱和拆箱付出的是性能的代價。
就拿anytao引言中的小例子來說下自己對這塊的理解,如果說的不正確的麻煩各位使勁的拍磚。

public static void Main()

{

  int i=100;

  object o=i;

o=200;

  Hashtable ht=new Hashtable();

  ht.Add("I",i);

ht["I"]=o;

Console.WriteLine(i + " is original, " + (int)ht["I"] + " is changing. ");

}

發生了幾次裝箱,幾次拆箱?

首先object o = i;這個是值類型轉換成引用類型,屬于裝箱操作。 o = 200,同樣的也是值類型轉換成引用類型,屬于裝箱操作。 ht.Add("I",i);這個應該也是裝箱操作。

(int)ht["I"],這個是引用類型轉換成值類型的,屬于拆箱操作的。

第二個小例子是

public static void Main()

{

  float = 1.01F;

  object o = f;

  double d=(double)o; //Convert.ToDouble(o)可是實現將object類型轉換成值類型的

}

這段代碼編譯的時候沒有任何問題,運行時會報未處理的InvalidCastException 指定的轉換無效。

因為只有被裝過箱的對象才能被拆箱,而并非所有的引用類型。將并非裝箱而來的引用類型強制轉換成值類型,將會拋出InvalidCastException異常。

說到著,才發現自己之前理解的裝箱和拆箱概念上還是有很大的出入的,anytao講解的很形象,很有價值,可能平時工作的時候很少關注這些,感覺自己把功能實現了就OK了,但是本質上還有很多很多的東西值得你去關注,今天天氣很好,寫一份看書筆記,希望這是一個好的開始。

最后摘抄一下anytao書中的一段裝箱就是值類型數據轉換成無類型的引用對象,使得我們可以將值類型視為對象來處理,通常這種轉換主要是指轉換為System.Object類型或者該值類型實現的任何接口引用類型;而拆箱就是引用類型轉換成值類型,通常伴隨著從堆中復制對象實例的操作。

總結

以上是生活随笔為你收集整理的艰难的道路的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。