亚洲精品中文字幕无乱码_久久亚洲精品无码AV大片_最新国产免费Av网址_国产精品3级片

C語言

c#運(yùn)算符關(guān)鍵字is的使用

時間:2024-10-30 22:34:04 C語言 我要投稿
  • 相關(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)文章:

c#查詢關(guān)鍵字之group子句的使用09-07

Java中運(yùn)算符的使用10-17

java的import關(guān)鍵字的使用08-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