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";
}
}
//家禽類
class jia:Animal
{
}
//狗
class Dog : jia
{
}
//鳥
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";
}
}
//家禽類
class jia:Animal
{
}
//狗
class Dog : jia
{
}
//鳥
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)文章
Unity實(shí)現(xiàn)跑馬燈抽獎(jiǎng)效果
這篇文章主要為大家詳細(xì)介紹了Unity實(shí)現(xiàn)跑馬燈抽獎(jiǎng)效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-02-02
基于C# 中可以new一個(gè)接口?的問(wèn)題分析
本篇文章是對(duì)C#中可以new一個(gè)接口?的問(wèn)題進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05
C#使用handle實(shí)現(xiàn)獲取占用指定文件或文件夾的進(jìn)程
很多時(shí)候,一些不知道啥進(jìn)程,把你的文件給占用了,然后就沒(méi)辦法刪掉或者做其他操作,如果使用Locksmith功能,就可以實(shí)現(xiàn)快速鎖定是哪個(gè)進(jìn)程在搞事情,把對(duì)應(yīng)進(jìn)程干掉就可以了,下面內(nèi)容演示C#使用幾行代碼實(shí)現(xiàn)File?Locksmith功能,需要的朋友可以參考下2024-09-09
詳解C# List<T>的Contains,Exists,Any,Where性能對(duì)比
這篇文章主要介紹了詳解C# List<T>的Contains,Exists,Any,Where性能對(duì)比,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12
C#使用Linq to XML進(jìn)行XPath查詢的代碼實(shí)現(xiàn)
最近在用到HtmlAgliltyPack進(jìn)行結(jié)點(diǎn)查詢時(shí),發(fā)現(xiàn)這里選擇結(jié)點(diǎn)使用的是XPath,所以這里總結(jié)一下在C#中使用XPath查詢XML的方法,習(xí)慣了用Linq,這里也是用的Linq to xml的,需要的朋友可以參考下2024-08-08
C#解決多IfElse判斷語(yǔ)句和Switch語(yǔ)句問(wèn)題的方法分享
這篇文章主要為大家介紹C#如何使用設(shè)計(jì)模式中的策略模式和委托來(lái)解決多個(gè)IfElse判斷語(yǔ)句和Switch語(yǔ)句,這種替換方式在其他語(yǔ)言也一樣可以做到,感興趣的可以了解一下2022-12-12

