C#中的is、as及转换
生活随笔
收集整理的這篇文章主要介紹了
C#中的is、as及转换
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
轉換
1.任何類型都可以轉換為其基類類型,用隱式轉換完成;
2.任何類型轉換為其派生類型時,必須進行顯示轉換。采用
(類型名)對象名完成;
3.基本類型可以使用Convert類實現類型轉換;
4.除了string以外的其他類型都有Parse方法,用于將字符串類型轉換成對應的基本類型;
在系統中:
- 使用GetType可以取得任何對象的精確類型;
- 值類型和引用類型的轉換稱為裝箱(boxing)或拆箱(unboxing);
C# 的is和as
is
is 關鍵字用于檢查對象是否與給定類型兼容。注意了,這里的
is并不是“是”的意思,而是“兼容”。
也就是說,如果被檢查對象能夠強制轉換成給定類型并不發生異常,那么表示它們類型兼容。
示例:
object o = "string"; if (o is string) //執行第一次類型兼容性檢查 { string s = (string)o; //執行第二次類型兼容性檢查,并轉換Console.WriteLine("success!"); } else { Console.WriteLine("轉換失敗!"); }注意:is運算符只考慮引用轉換、裝箱轉換和 拆箱轉換。不考慮其他轉換,如用戶定義的轉換。
特別注意:雖然int和long、double是類型兼容的,但是使用is運算符的結果卻是false,那是因為is運算符只考慮引用轉換、裝箱轉換和拆箱轉換。
在is運算符的左側不允許使用匿名方法。
as 轉換
as 轉換規則
1.檢查對象類型的兼容性,并返回轉換結果,如果不兼容則返回null;作為對比,如果類型不兼容,則強制轉換會拋出異常。
2.不會拋出異常;
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的C#中的is、as及转换的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 崩溃大陆攻略有哪些(汉典崩溃词语的解释)
- 下一篇: c# char unsigned_dll