程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#中is和as用法實例剖析

C#中is和as用法實例剖析

編輯:C#入門知識

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#法式設計能有必定的贊助與自創價值。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved