- 相關(guān)推薦
c#運(yùn)算符關(guān)鍵字is的使用
引導(dǎo)語:C語言把除了控制 語句和輸入輸出以外的幾乎所有的基本操作都作為運(yùn)算符處理,以下是小編整理的c#運(yùn)算符關(guān)鍵字is的使用,歡迎參考閱讀!
檢查對象是否與給定類型兼容。例如,下面的代碼可以確定對象是否為 MyObject 類型的一個實(shí)例,或者對象是否為從 MyObject 派生的一個類型:
if (obj is MyObject)
{
}
如果所提供的表達(dá)式非空,并且所提供的對象可以強(qiáng)制轉(zhuǎn)換為所提供的類型而不會導(dǎo)致引發(fā)異常,則 is 表達(dá)式的計算結(jié)果將是 true。
如果已知表達(dá)式將始終是 true 或始終是 false,則 is 關(guān)鍵字將導(dǎo)致編譯時警告,但是,通常在運(yùn)行時才計算類型兼容性。
不能重載 is 運(yùn)算符。
請注意,is 運(yùn)算符只考慮引用轉(zhuǎn)換、裝箱轉(zhuǎn)換和取消裝箱轉(zhuǎn)換。不考慮其他轉(zhuǎn)換,如用戶定義的轉(zhuǎn)換。
在 is 運(yùn)算符的左側(cè)不允許使用匿名方法。lambda 表達(dá)式屬于例外。
示例
C#
class Class1 {}
class Class2 {}
class Class3 : Class2 { }
class IsTest
{
static void Test(object o)
{
Class1 a;
Class2 b;
if (o is Class1)
{
Console.WriteLine("o is Class1");
a = (Class1)o;
// Do something with "a."
}
else if (o is Class2)
{
Console.WriteLine("o is Class2");
b = (Class2)o;
// Do something with "b."
}
else
{
Console.WriteLine("o is neither Class1 nor Class2.");
}
}
static void Main()
{
Class1 c1 = new Class1();
Class2 c2 = new Class2();
Class3 c3 = new Class3();
Test(c1);
Test(c2);
Test(c3);
Test("a string");
}
}
/*
Output:
o is Class1
o is Class2
o is Class2
o is neither Class1 nor Class2.
*/
【c#運(yùn)算符關(guān)鍵字is的使用】相關(guān)文章:
Java中運(yùn)算符的使用10-17
c#中預(yù)處理指令#if的使用08-18
c#檢測cpu使用率09-01
Java編程中this關(guān)鍵字與super關(guān)鍵字的使用方法08-23
PHP三元運(yùn)算符的使用方法技巧09-07
Java運(yùn)算符10-04
淺談C#語言的特點(diǎn)11-01
Java“異或” 運(yùn)算符08-17