1. <dd id="erndk"></dd>
                1. C#中類型轉換----as用法

                  互聯網 2022/1/3 17:08:45

                  在程序中,進行類型轉換時常見的事,C#支持基本的強制類型轉換方法,例如 Object obj1 = new NewType(); NewType newValue = (NewType)obj1;這樣強制轉換的時候,這個過程是不安全的,因此需要用try-catch語句進行保護,這樣一來,比較安全的代碼方式應如下所示:Object …

                  在程序中,進行類型轉換時常見的事,C#支持基本的強制類型轉換方法,例如 

                  Object obj1 = new NewType();
                  NewType newValue = (NewType)obj1;

                  這樣強制轉換的時候,這個過程是不安全的,因此需要用try-catch語句進行保護,這樣一來,比較安全的代碼方式應如下所示:

                  Object obj1 = new NewType();
                  NewType newValue = null;
                  try
                  {
                  newValue = (NewType)obj1;
                  }
                  catch (Exception err)
                  {
                  MessageBox.Show(err.Message);
                  }

                  但是上面的寫法在C#中已是過時的寫法,也是比較低效的寫法,比較高效且時尚的寫法是用as操作符,如下:

                  Object obj1 = new NewType();
                  NewTYpe newValue = obj1 as NewType;

                  安全性:
                  as操作符不會做過的轉換操作,當需要轉化對象的類型屬于轉換目標類型或者轉換目標類型的派生類型時,那么此轉換操作才能成功,而且并不產生新的對象【當不成功的時候,會返回null】。因此用as進行類型轉換是安全的。
                  效率:
                  當用as操作符進行類型轉換的時候,首先判斷當前對象的類型,當類型滿足要求后才進行轉換,而傳統的類型轉換方式,是用當前對象直接去轉換,而且為了保護轉換成功,要加上try-catch,所以,相對來說,as效率高點。
                  需要注意的是,不管是傳統的還是as操作符進行類型轉換之后,在使用之前,需要進行判斷轉換是否成功,如下:

                  if(newValue != null)
                  {
                  //Work with the object named “newValue“
                  }

                  來自:https://blog.csdn.net/jiang13824690

                  隨時隨地學軟件編程-關注百度小程序和微信小程序
                  關于找一找教程網

                  本站文章僅代表作者觀點,不代表本站立場,所有文章非營利性免費分享。
                  本站提供了軟件編程、網站開發技術、服務器運維、人工智能等等IT技術文章,希望廣大程序員努力學習,讓我們用科技改變世界。
                  [C#中類型轉換----as用法]http://www.yachtsalesaustralia.com/tech/detail-279497.html

                  贊(0)
                  關注微信小程序
                  程序員編程王-隨時隨地學編程

                  掃描二維碼或查找【程序員編程王】

                  可以隨時隨地學編程啦!

                  技術文章導航 更多>
                  国产在线拍揄自揄视频菠萝

                        1. <dd id="erndk"></dd>