最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

現(xiàn)來看個(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說判斷對象是不是你要的那個(gè)類型(這里說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這樣的操作(強(qiáng)制轉(zhuǎn)換)編譯器還會(huì)做一次操作,這樣就有性能上面的消耗。來看看AS。

AS操作:如果說改對象就轉(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,簡化了操作也提高了性能,做一個(gè)NULL判斷,直接處理這種異常也說很方便。

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

相關(guān)文章

  • 分析C# Dictionary的實(shí)現(xiàn)原理

    分析C# Dictionary的實(shí)現(xiàn)原理

    對于C#中的Dictionary類相信大家都不陌生,這是一個(gè)Collection(集合)類型,可以通過Key/Value(鍵值對的形式來存放數(shù)據(jù);該類最大的優(yōu)點(diǎn)就是它查找元素的時(shí)間復(fù)雜度接近O(1)。那么什么樣的設(shè)計(jì)能使得Dictionary類實(shí)現(xiàn)O(1)的時(shí)間復(fù)雜度呢
    2021-06-06
  • WPF+SkiaSharp實(shí)現(xiàn)自繪拖曳小球

    WPF+SkiaSharp實(shí)現(xiàn)自繪拖曳小球

    WPF的拖曳效果,基本配置一下,就可以了,但是自繪的話,就得自己控制。本文將利用WPF+SkiaSharp實(shí)現(xiàn)自繪拖曳小球,感興趣的可以動(dòng)手嘗試一下
    2022-07-07
  • C#設(shè)計(jì)模式之簡單工廠模式

    C#設(shè)計(jì)模式之簡單工廠模式

    這篇文章介紹了C#設(shè)計(jì)模式之簡單工廠模式,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-03-03
  • 深入理解.NET中的異步

    深入理解.NET中的異步

    異步編程是程序設(shè)計(jì)的重點(diǎn),在實(shí)際的項(xiàng)目,在大量的數(shù)據(jù)入庫以及查詢數(shù)據(jù)并進(jìn)行計(jì)算的時(shí)候,程序的UI界面往往卡死在那里,這時(shí)候就需要對計(jì)算時(shí)間限制的過程進(jìn)行異步處理,同時(shí)正確的使用異步編程去處理計(jì)算限制的操作和耗時(shí)IO操作還能提升的應(yīng)用程序的吞吐量及性能
    2021-06-06
  • winform樹形菜單無限級(jí)分類實(shí)例

    winform樹形菜單無限級(jí)分類實(shí)例

    本文介紹了“winform樹形菜單無限級(jí)分類實(shí)例”,需要的朋友可以參考一下
    2013-03-03
  • C#實(shí)現(xiàn)的幾種委托方式介紹

    C#實(shí)現(xiàn)的幾種委托方式介紹

    這篇文章主要是介紹C#實(shí)現(xiàn)的幾種委托方式,需要的朋友可以參考下
    2013-03-03
  • 基于C#實(shí)現(xiàn)簡單的二維碼和條形碼的生成工具

    基于C#實(shí)現(xiàn)簡單的二維碼和條形碼的生成工具

    這篇文章主要為大家詳細(xì)介紹了如何基于C#實(shí)現(xiàn)簡單的二維碼和條形碼工具,用于二維碼條形碼的生成與識(shí)別,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-12-12
  • HighCharts圖表控件在ASP.NET WebForm中的使用總結(jié)(全)

    HighCharts圖表控件在ASP.NET WebForm中的使用總結(jié)(全)

    這篇文章主要介紹了HighCharts圖表控件在ASP.NET WebForm中的使用總結(jié)(全),需要的朋友可以參考下
    2015-08-08
  • C# 輸出字符串到文本文件中的實(shí)現(xiàn)代碼

    C# 輸出字符串到文本文件中的實(shí)現(xiàn)代碼

    本文通過一個(gè)簡單的代碼給大家介紹C# 輸出字符串到文本文件中,代碼簡單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2018-05-05
  • C#實(shí)現(xiàn)定時(shí)任務(wù)Task Scheduler的示例代碼

    C#實(shí)現(xiàn)定時(shí)任務(wù)Task Scheduler的示例代碼

    這篇文章主要為大家詳細(xì)介紹了C#實(shí)現(xiàn)定時(shí)任務(wù)Task Scheduler的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-02-02

最新評論

隆化县| 墨脱县| 福建省| 德阳市| 田东县| 青岛市| 慈利县| 呼和浩特市| 枣阳市| 鄢陵县| 武强县| 建水县| 且末县| 普宁市| 达拉特旗| 庄浪县| 井研县| 桦南县| 葵青区| 客服| 罗山县| 固安县| 永登县| 平邑县| 景东| 中西区| 隆子县| 连城县| 东城区| 平乐县| 内丘县| 淮北市| 城步| 通辽市| 香港| 启东市| 临武县| 仙居县| 太仓市| 阿克| 宁津县|