C#中is和as用法實例剖析。本站提示廣大學習愛好者:(C#中is和as用法實例剖析)文章只能為提供參考,不一定能成為您想要的結果。以下是C#中is和as用法實例剖析正文
本文實例講述了C#中is和as的用法,對加深is與as用法的懂得有必定的贊助自創感化。詳細以下:
現來看個例子:
public class User { } public class Group { } class Program { static void Main(string[] args) { Object oUser = new User(); Object user = (Group)oUser; } }
如許會報錯(InvalidCastException),因為C#平安機制,它會去斷定一次。我們這裡做了不法的轉換。
Is做斷定:is說斷定對象是否是你要的誰人類型(這裡說User)
修正後的示例以下:
class Program { static void Main(string[] args) { Object obj = new User(); if (obj is User) { User user = (User)obj; } } }
如許的話,我們在obj is User這裡做了一次斷定,我們適才說了,(User)obj如許的操作(強迫轉換)編譯器還會做一次操作,如許就有機能下面的消費。來看看AS。
AS操作:假如說改對象就轉換,不是則前往null.
class Program { static void Main(string[] args) { Object obj = new User(); User user = obj as User; if(user==null) { // handle error //.... } } }
注:小我比擬愛好用As,簡化了操作也進步了機能,做一個NULL斷定,直接處置這類異常也說很便利。
願望本文所述辦法對年夜家的C#法式設計能有必定的贊助與自創價值。