欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C#中is和as用法實(shí)例分析

 更新時(shí)間:2014年08月21日 10:01:31   投稿:shichen2014  
這篇文章主要介紹了C#中is和as用法實(shí)例分析,需要的朋友可以參考下

本文實(shí)例講述了C#中is和as的用法,對(duì)加深is與as用法的理解有一定的幫助借鑒作用。具體如下:

現(xiàn)來(lái)看個(gè)例子:

public class User
{
}
public class Group
{
}
class Program
{
    static void Main(string[] args)
    {
      Object oUser = new User();
      Object user = (Group)oUser;
    }
}

這樣會(huì)報(bào)錯(cuò)(InvalidCastException),由于C#安全機(jī)制,它會(huì)去判斷一次。我們這里做了非法的轉(zhuǎn)換。

Is做判斷:is說(shuō)判斷對(duì)象是不是你要的那個(gè)類型(這里說(shuō)User)

修改后的示例如下:

class Program
{
    static void Main(string[] args)
    {
      Object obj = new User();
      if (obj is User)
      {
        User user = (User)obj;
      }
    }
}

這樣的話,我們?cè)趏bj is User這里做了一次判斷,我們剛才說(shuō)了,(User)obj這樣的操作(強(qiáng)制轉(zhuǎn)換)編譯器還會(huì)做一次操作,這樣就有性能上面的消耗。來(lái)看看AS。

AS操作:如果說(shuō)改對(duì)象就轉(zhuǎn)換,不是則返回null.

class Program
{
    static void Main(string[] args)
    {

      Object obj = new User();

      User user = obj as User;
      if(user==null)
      {
        // handle error
        //....
      }
    }
}

注:個(gè)人比較喜歡用As,簡(jiǎn)化了操作也提高了性能,做一個(gè)NULL判斷,直接處理這種異常也說(shuō)很方便。

希望本文所述方法對(duì)大家的C#程序設(shè)計(jì)能有一定的幫助與借鑒價(jià)值。

相關(guān)文章

  • C#判斷字符是否為漢字的三種方法分享

    C#判斷字符是否為漢字的三種方法分享

    判斷一個(gè)字符是不是漢字通常有三種方法,第一種用 ASCII 碼判斷,第二種用漢字的 UNICODE 編碼范圍判 斷,第三種用正則表達(dá)式判斷,以下是具體方法
    2014-01-01
  • C#數(shù)據(jù)結(jié)構(gòu)與算法揭秘二 線性結(jié)構(gòu)

    C#數(shù)據(jù)結(jié)構(gòu)與算法揭秘二 線性結(jié)構(gòu)

    本文中,我們討論了什么是線性結(jié)構(gòu),線性結(jié)構(gòu)有哪些特點(diǎn),并且詳細(xì)介紹了一個(gè)最簡(jiǎn)單線性結(jié)構(gòu)順序表,并且通過(guò)源代碼對(duì)她進(jìn)行一些列的分析,最后還舉了兩個(gè)例子,讓我們更好的理解順序表
    2012-11-11
  • C#實(shí)現(xiàn)將HTML轉(zhuǎn)換成純文本的方法

    C#實(shí)現(xiàn)將HTML轉(zhuǎn)換成純文本的方法

    這篇文章主要介紹了C#實(shí)現(xiàn)將HTML轉(zhuǎn)換成純文本的方法,基于自定義類實(shí)現(xiàn)文本轉(zhuǎn)換功能,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-07-07
  • C# using的本質(zhì)及使用詳解

    C# using的本質(zhì)及使用詳解

    這篇文章主要為大家介紹了C# using的本質(zhì)及使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-09-09
  • C#使用foreach語(yǔ)句簡(jiǎn)單遍歷數(shù)組的方法

    C#使用foreach語(yǔ)句簡(jiǎn)單遍歷數(shù)組的方法

    這篇文章主要介紹了C#使用foreach語(yǔ)句簡(jiǎn)單遍歷數(shù)組的方法,涉及C#中foreach語(yǔ)句的使用技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-04-04
  • C#實(shí)現(xiàn)多文件打包壓縮(.Net?Core)

    C#實(shí)現(xiàn)多文件打包壓縮(.Net?Core)

    本文詳細(xì)講解了.Net?Core框架下C#實(shí)現(xiàn)多文件打包壓縮的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-12-12
  • VS2017使用Git進(jìn)行源代碼管理的實(shí)現(xiàn)

    VS2017使用Git進(jìn)行源代碼管理的實(shí)現(xiàn)

    這篇文章主要介紹了VS2017使用Git進(jìn)行源代碼管理的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • C#后臺(tái)調(diào)用前臺(tái)JS函數(shù)方法

    C#后臺(tái)調(diào)用前臺(tái)JS函數(shù)方法

    今天小編就為大家分享一篇關(guān)于C#后臺(tái)調(diào)用前臺(tái)JS函數(shù)方法,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-01-01
  • C#用websocket實(shí)現(xiàn)簡(jiǎn)易聊天功能(客戶端)

    C#用websocket實(shí)現(xiàn)簡(jiǎn)易聊天功能(客戶端)

    這篇文章主要為大家詳細(xì)介紹了C#用websocket實(shí)現(xiàn)簡(jiǎn)易聊天功能,客戶端方向,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • C#編程中常見數(shù)據(jù)結(jié)構(gòu)的比較(Unity3D游戲開發(fā))

    C#編程中常見數(shù)據(jù)結(jié)構(gòu)的比較(Unity3D游戲開發(fā))

    在本篇內(nèi)容里我們給大家整理了關(guān)于Unity3D游戲開發(fā)中C#編程中常見數(shù)據(jù)結(jié)構(gòu)的比較相關(guān)知識(shí)點(diǎn)內(nèi)容,需要的朋友們參考下。
    2019-05-05

最新評(píng)論