C#中is與As運(yùn)算符號(hào)的使用詳解
更新時(shí)間:2013年06月09日 10:03:41 作者:
本篇文章是對(duì)C#中is與As運(yùn)算符號(hào)的使用進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
如下所示:
using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleApplication1
{
class IsOrAsClass
{
class Animal
{
public void Eat()
{
Console.WriteLine("Eating...");
}
public override string ToString()
{
return "I am Eating";
}
}
//家禽類(lèi)
class jia:Animal
{
}
//狗
class Dog : jia
{
}
//鳥(niǎo)
class bird
{
}
static void Main()
{
IsOrAsClass app=new IsOrAsClass();
//
Dog d=new Dog();
app.UseIsOpreate(d);
app.UseAsOpreate(d);
//
bird b = new bird();
app.UseAsOpreate(b);
}
//使用Is運(yùn)算符
void UseIsOpreate(Animal a)
{
if (a is jia)
{
jia j = (jia)a;
j.Eat();
}
}
//使用AS運(yùn)算符
void UseAsOpreate(object o)
{
jia j = o as jia;
if (j != null)
{
Console.WriteLine(j.ToString());
}
else
{
Console.WriteLine("{0} is not Animal", o.GetType().Name);
}
}
}
}
復(fù)制代碼 代碼如下:
using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleApplication1
{
class IsOrAsClass
{
class Animal
{
public void Eat()
{
Console.WriteLine("Eating...");
}
public override string ToString()
{
return "I am Eating";
}
}
//家禽類(lèi)
class jia:Animal
{
}
//狗
class Dog : jia
{
}
//鳥(niǎo)
class bird
{
}
static void Main()
{
IsOrAsClass app=new IsOrAsClass();
//
Dog d=new Dog();
app.UseIsOpreate(d);
app.UseAsOpreate(d);
//
bird b = new bird();
app.UseAsOpreate(b);
}
//使用Is運(yùn)算符
void UseIsOpreate(Animal a)
{
if (a is jia)
{
jia j = (jia)a;
j.Eat();
}
}
//使用AS運(yùn)算符
void UseAsOpreate(object o)
{
jia j = o as jia;
if (j != null)
{
Console.WriteLine(j.ToString());
}
else
{
Console.WriteLine("{0} is not Animal", o.GetType().Name);
}
}
}
}
相關(guān)文章
C#中使用Join與GroupJoin將兩個(gè)集合進(jìn)行關(guān)聯(lián)與分組
這篇文章主要介紹了C#中使用Join與GroupJoin將兩個(gè)集合進(jìn)行關(guān)聯(lián)與分組,文中分別對(duì)Join和GroupJoin的用法進(jìn)行詳細(xì)說(shuō)明,需要的朋友可以參考下2017-12-12基于C# wpf 實(shí)現(xiàn)Grid內(nèi)控件拖動(dòng)詳情
這篇文章主要介紹了基于C# wpf 實(shí)現(xiàn)Grid內(nèi)控件拖動(dòng),有一些業(yè)務(wù)場(chǎng)景中我們需要拖動(dòng)控件,在Grid中就可以實(shí)現(xiàn)控件拖動(dòng),通過(guò)設(shè)置Margin屬性即可,下面文章我們來(lái)看看具體的實(shí)現(xiàn)內(nèi)容2021-11-11C#面向?qū)ο髮?shí)現(xiàn)圖書(shū)管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了C#面向?qū)ο髮?shí)現(xiàn)圖書(shū)管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02解析c#在未出現(xiàn)異常情況下查看當(dāng)前調(diào)用堆棧的解決方法
本篇文章是對(duì)c#在未出現(xiàn)異常情況下查看當(dāng)前調(diào)用堆棧的解決方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05C#編程獲取客戶端計(jì)算機(jī)硬件及系統(tǒng)信息功能示例
這篇文章主要介紹了C#編程獲取客戶端計(jì)算機(jī)硬件及系統(tǒng)信息功能,可實(shí)現(xiàn)針對(duì)客戶端系統(tǒng)CPU、硬盤(pán)、主板等硬件信息及客戶端操作系統(tǒng)、IP、MAC等信息的操作技巧,需要的朋友可以參考下2017-01-01c#之利用API函數(shù)實(shí)現(xiàn)動(dòng)畫(huà)窗體的方法詳解
本篇文章是對(duì)c#中利用API函數(shù)實(shí)現(xiàn)動(dòng)畫(huà)窗體的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06C# IQueryable<T>揭開(kāi)表達(dá)式樹(shù)的神秘面紗
這篇文章主要介紹了C# IQueryable<T>表達(dá)式樹(shù),對(duì)IQueryable<T>感興趣的同學(xué),必須要仔細(xì)看一下2021-04-04