C#中is與As運算符號的使用詳解
更新時間:2013年06月09日 10:03:41 作者:
本篇文章是對C#中is與As運算符號的使用進行了詳細的分析介紹,需要的朋友參考下
如下所示:
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運算符
void UseIsOpreate(Animal a)
{
if (a is jia)
{
jia j = (jia)a;
j.Eat();
}
}
//使用AS運算符
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運算符
void UseIsOpreate(Animal a)
{
if (a is jia)
{
jia j = (jia)a;
j.Eat();
}
}
//使用AS運算符
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#使用handle實現(xiàn)獲取占用指定文件或文件夾的進程
很多時候,一些不知道啥進程,把你的文件給占用了,然后就沒辦法刪掉或者做其他操作,如果使用Locksmith功能,就可以實現(xiàn)快速鎖定是哪個進程在搞事情,把對應(yīng)進程干掉就可以了,下面內(nèi)容演示C#使用幾行代碼實現(xiàn)File?Locksmith功能,需要的朋友可以參考下2024-09-09
詳解C# List<T>的Contains,Exists,Any,Where性能對比
這篇文章主要介紹了詳解C# List<T>的Contains,Exists,Any,Where性能對比,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12
C#使用Linq to XML進行XPath查詢的代碼實現(xiàn)
最近在用到HtmlAgliltyPack進行結(jié)點查詢時,發(fā)現(xiàn)這里選擇結(jié)點使用的是XPath,所以這里總結(jié)一下在C#中使用XPath查詢XML的方法,習(xí)慣了用Linq,這里也是用的Linq to xml的,需要的朋友可以參考下2024-08-08
C#解決多IfElse判斷語句和Switch語句問題的方法分享
這篇文章主要為大家介紹C#如何使用設(shè)計模式中的策略模式和委托來解決多個IfElse判斷語句和Switch語句,這種替換方式在其他語言也一樣可以做到,感興趣的可以了解一下2022-12-12

