欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C#運(yùn)算符大全_各種運(yùn)算符號(hào)的概述及作用

 更新時(shí)間:2013年10月23日 10:36:26   作者:  
以下是對(duì)C#中各種運(yùn)算符號(hào)的說明及作用進(jìn)行了詳細(xì)的總結(jié)介紹,需要的朋友可以過來參考下,希望對(duì)大家有所幫助

一、[]
方括號(hào) ([]) 用于數(shù)組、索引器和屬性,也可用于指針。

1、數(shù)組類型是一種后跟 [] 的類型:
int[] fib = new int[100]; //創(chuàng)建一個(gè)有100元素的數(shù)組
若要訪問數(shù)組的一個(gè)元素,則用方括號(hào)括起所需元素的索引:
fib[0] = fib[1] = 1;
for( int i=2; i<100; ++i ) fib[i] = fib[i-1] + fib[i-2];// 如果數(shù)組索引超出范圍,則會(huì)引發(fā)異常。

2、不能重載數(shù)組索引運(yùn)算符;但類型可以定義采用一個(gè)或多個(gè)參數(shù)的索引器和屬性。索引器參數(shù)括在方括號(hào)中(就像數(shù)組索引一樣),但索引器參數(shù)可聲明為任何類型(這與數(shù)組索引不同,數(shù)組索引必須為整數(shù))。
例如,.NET Framework 定義 Hashtable 類型,該類型將鍵和任意類型的值關(guān)聯(lián)在一起。
Collections.Hashtable h = new Collections.Hashtable();
h["a"] = 123; // note: using a string as the index

3、方括號(hào)還用于指定屬性(C# 編程指南):
[attribute(AllowMultiple=true)]
public class Attr
{
}
4、可以使用方括號(hào)來指定指針?biāo)饕?BR>unsafe fixed ( int* p = fib )   // p points to fib from earlier example
{
    p[0] = p[1] = 1;
    for( int i=2; i<100; ++i ) p[i] = p[i-1] + p[i-2];
}

二、()
除了用于指定表達(dá)式中的運(yùn)算順序外,圓括號(hào)還用于指定強(qiáng)制轉(zhuǎn)換或類型轉(zhuǎn)換:
double x = 1234.7;
int a;
a = (int)x; // cast double to int

三、.
點(diǎn)運(yùn)算符 (.) 用于成員訪問。點(diǎn)運(yùn)算符指定類型或命名空間的成員。例如,點(diǎn)運(yùn)算符用于訪問.NET Framework 類庫中的特定方法:
System.Console.WriteLine("hello");

四、::
命名空間別名限定符運(yùn)算符 (::),用于查找標(biāo)識(shí)符。它通常放置在兩個(gè)標(biāo)識(shí)符之間,例如:
global::System.Console.WriteLine("Hello World");
備注:
命名空間別名限定符可以是 global。這將調(diào)用全局命名空間中的查找,而不是在別名命名空間中。

五、+
+ 運(yùn)算符既可作為一元運(yùn)算符也可作為二元運(yùn)算符。
備注:
一元 + 運(yùn)算符是為所有數(shù)值類型預(yù)定義的。對(duì)數(shù)值類型進(jìn)行一元 + 運(yùn)算的結(jié)果就是操作數(shù)的值。
為數(shù)值類型和字符串類型預(yù)定義了二元 + 運(yùn)算符。對(duì)于數(shù)值類型,+ 計(jì)算兩個(gè)操作數(shù)之和。當(dāng)其中的一個(gè)操作數(shù)是字符串類型或兩個(gè)操作數(shù)都是字符串類型時(shí),+ 將操作數(shù)的字符串表示形式串聯(lián)在一起。
委托類型也提供二元 + 運(yùn)算符,該運(yùn)算符執(zhí)行委托串聯(lián)。

實(shí)例:
using System;
class MainClass
{
    static void Main()
    {
        Console.WriteLine(+5);        // unary plus
        Console.WriteLine(5 + 5);     // addition
        Console.WriteLine(5 + .5);    // addition
        Console.WriteLine("5" + "5"); // string concatenation
        Console.WriteLine(5.0 + "5"); // string concatenation
        // note automatic conversion from double to string
    }
}

六、-
- 運(yùn)算符既可作為一元運(yùn)算符也可作為二元運(yùn)算符。
一元 - 運(yùn)算符是為所有數(shù)值類型預(yù)定義的。數(shù)值類型的一元 - 運(yùn)算的結(jié)果是操作數(shù)的反數(shù)。
二元 - 運(yùn)算符是為所有數(shù)值類型和枚舉類型預(yù)定義的,其功能是從第一個(gè)操作數(shù)中減去第二個(gè)操作數(shù)。
委托類型也提供二元 - 運(yùn)算符,該運(yùn)算符執(zhí)行委托移除。

示例:
using System;
class MainClass
{
    static void Main()
    {
        int a = 5;
        Console.WriteLine(-a);
        Console.WriteLine(a - 1);
        Console.WriteLine(a - .5);
    }
}

七、*
乘法運(yùn)算符 (*),用于計(jì)算操作數(shù)的積。另外還用作取消引用運(yùn)算符,允許讀取和寫入指針。
備注:
所有數(shù)值類型都具有預(yù)定義的乘法運(yùn)算符。
* 運(yùn)算符還用來聲明指針類型和取消引用指針。該運(yùn)算符只能在不安全的上下文中使用,通過unsafe 關(guān)鍵字的使用來表示,并且需要 /unsafe 編譯器選項(xiàng)。取消引用運(yùn)算符也稱為間接尋址運(yùn)算符。

示例:
using System;
class MainClass
{
    static void Main()
    {
        Console.WriteLine(5 * 2);
        Console.WriteLine(-.5 * .2);
        Console.WriteLine(-.5m * .2m); // decimal type
    }
}

八、/
除法運(yùn)算符 (/) 用第二個(gè)操作數(shù)除第一個(gè)操作數(shù)。所有數(shù)值類型都具有預(yù)定義的除法運(yùn)算符。
using System;
class MainClass
{
    static void Main()
    {
        Console.WriteLine(-5/2);
        Console.WriteLine(-5.0/2);
    }
}

九、%
模數(shù)運(yùn)算符 (%) 計(jì)算第二個(gè)操作數(shù)除第一個(gè)操作數(shù)后的余數(shù)。所有數(shù)值類型都具有預(yù)定義的模數(shù)運(yùn)算符。
using System;
class MainClass
{
    static void Main()
    {
        Console.WriteLine(5 % 2);       // int
        Console.WriteLine(-5 % 2);      // int
        Console.WriteLine(5.0 % 2.2);   // double
        Console.WriteLine(5.0m % 2.2m); // decimal
        Console.WriteLine(-5.2 % 2.0); // double
    }
}

十、&
& 運(yùn)算符既可作為一元運(yùn)算符也可作為二元運(yùn)算符。
備注:
一元 & 運(yùn)算符返回操作數(shù)的地址(要求 unsafe 上下文)。
為整型和 bool 類型預(yù)定義了二進(jìn)制 & 運(yùn)算符。對(duì)于整型,& 計(jì)算操作數(shù)的邏輯按位“與”。對(duì)于 bool 操作數(shù),& 計(jì)算操作數(shù)的邏輯“與”;也就是說,當(dāng)且僅當(dāng)兩個(gè)操作數(shù)均為 true 時(shí),結(jié)果才為 true。
& 運(yùn)算符計(jì)算兩個(gè)運(yùn)算符,與第一個(gè)操作數(shù)的值無關(guān)。例如:
int i = 0;
if (false & ++i == 1)
{
}

十一、|
二元 | 運(yùn)算符是為整型和 bool 類型預(yù)定義的。對(duì)于整型,| 計(jì)算操作數(shù)的按位“或”結(jié)果。對(duì)于 bool 操作數(shù),| 計(jì)算操作數(shù)的邏輯“或”結(jié)果;也就是說,當(dāng)且僅當(dāng)兩個(gè)操作數(shù)均為 false時(shí),結(jié)果才為 false。
using System;
class MainClass
{
    static void Main()
    {
        Console.WriteLine(true | false); // logical or
        Console.WriteLine(false | false); // logical or
        Console.WriteLine("0x{0:x}", 0xf8 | 0x3f);   // bitwise or
    }
}

十二、^
二元 ^ 運(yùn)算符是為整型和 bool 類型預(yù)定義的。對(duì)于整型,^ 將計(jì)算操作數(shù)的按位“異或”。對(duì)于 bool 操作數(shù),^ 將計(jì)算操作數(shù)的邏輯“異或”;也就是說,當(dāng)且僅當(dāng)只有一個(gè)操作數(shù)為 true時(shí),結(jié)果才為 true。
using System;
class MainClass
{
    static void Main()
    {
        Console.WriteLine(true ^ false); // logical exclusive-or
        Console.WriteLine(false ^ false); // logical exclusive-or
        // Bitwise exclusive-or:
        Console.WriteLine("0x{0:x}", 0xf8 ^ 0x3f);
    }
}

十三、!
邏輯非運(yùn)算符 (!) 是對(duì)操作數(shù)求反的一元運(yùn)算符。為 bool 定義了該運(yùn)算符,當(dāng)且僅當(dāng)操作數(shù)為false 時(shí)才返回 true。
using System;
class MainClass
{
    static void Main()
{
        Console.WriteLine(!true);
        Console.WriteLine(!false);
    }
}

十四、~
~ 運(yùn)算符對(duì)操作數(shù)執(zhí)行按位求補(bǔ)運(yùn)算,其效果相當(dāng)于反轉(zhuǎn)每一位。按位求補(bǔ)運(yùn)算符是為int、uint、long 和 ulong 類型預(yù)定義的。
using System;
class MainClass
{
    static void Main()
    {
        int[] values = { 0, 0x111, 0xfffff, 0x8888, 0x22000022};
        foreach (int v in values)
        {
            Console.WriteLine("~0x{0:x8} = 0x{1:x8}", v, ~v);
        }
    }
}

十五、=
賦值運(yùn)算符 (=) 將右操作數(shù)的值存儲(chǔ)在左操作數(shù)表示的存儲(chǔ)位置、屬性或索引器中,并將值作為結(jié)果返回。操作數(shù)的類型必須相同(或右邊的操作數(shù)必須可以隱式轉(zhuǎn)換為左邊操作數(shù)的類型)。
using System;
class MainClass
{
    static void Main()
    {
        double x;
        int i;
        i = 5; // int to int assignment
        x = i; // implicit conversion from int to double
        i = (int)x; // needs cast
        Console.WriteLine("i is {0}, x is {1}", i, x);
        object obj = i;
        Console.WriteLine("boxed value = {0}, type is {1}",
                  obj, obj.GetType());
        i = (int)obj;
        Console.WriteLine("unboxed: {0}", i);
    }
}

十六、<
所有數(shù)值和枚舉類型都定義“小于”關(guān)系運(yùn)算符 (<),如果第一個(gè)操作數(shù)小于第二個(gè)操作數(shù),該運(yùn)算符返回 true,否則返回 false。
using System;
class MainClass
{
    static void Main()
    {
        Console.WriteLine(1 < 1.1);
        Console.WriteLine(1.1 < 1.1);
    }
}

十七、>
所有數(shù)值類型和枚舉類型都定義“大于”關(guān)系運(yùn)算符 >,如果第一個(gè)操作數(shù)大于第二個(gè)操作數(shù),它將返回 true,否則返回 false。
using System;
class MainClass
{
    static void Main()
    {
        Console.WriteLine(1.1 > 1);
        Console.WriteLine(1.1 > 1.1);
    }
}

十八、?:
條件運(yùn)算符 (?:) 根據(jù)布爾型表達(dá)式的值返回兩個(gè)值中的一個(gè)。條件運(yùn)算符的格式如下
condition ? first_expression : second_expression;

備注:
如果條件為 true,則計(jì)算第一表達(dá)式并以它的計(jì)算結(jié)果為準(zhǔn);如果為 false,則計(jì)算第二表達(dá)式并以它的計(jì)算結(jié)果為準(zhǔn)。只計(jì)算兩個(gè)表達(dá)式中的一個(gè)。

使用條件運(yùn)算符,可以更簡潔、雅觀地表達(dá)那些否則可能要求 if-else 結(jié)構(gòu)的計(jì)算。例如,為在sin 函數(shù)的計(jì)算中避免被零除,可編寫為
if(x != 0.0) s = Math.Sin(x)/x; else s = 1.0;
或使用條件運(yùn)算符,
s = x != 0.0 ? Math.Sin(x)/x : 1.0;

十九、++
增量運(yùn)算符 (++) 將操作數(shù)加 1。增量運(yùn)算符可以出現(xiàn)在操作數(shù)之前或之后:

備注:
第一種形式是前綴增量操作。該操作的結(jié)果是操作數(shù)加 1 之后的值。
第二種形式是后綴增量操作。該運(yùn)算的結(jié)果是操作數(shù)增加之前的值。
數(shù)值類型和枚舉類型具有預(yù)定義的增量運(yùn)算符。用戶定義的類型可重載 ++ 運(yùn)算符。在枚舉時(shí)通常允許整型運(yùn)算。

二十、--
減量運(yùn)算符 (--) 將操作數(shù)減 1。減量運(yùn)算符可以出現(xiàn)在操作數(shù)之前或之后:--variable 和variable--。第一種形式是前綴減量操作。該運(yùn)算的結(jié)果是操作數(shù)減小“之后”的值。第二種形式是后綴減量操作。該運(yùn)算的結(jié)果是操作數(shù)減小“之前”的值。

備注:
數(shù)值類型和枚舉類型具有預(yù)定義的增量運(yùn)算符。
用戶定義的類型可重載 -- 運(yùn)算符(請參見運(yùn)算符)。在枚舉時(shí)通常允許整型運(yùn)算。

二十一、&&
條件“與”運(yùn)算符 (&&) 執(zhí)行其 bool 操作數(shù)的邏輯“與”運(yùn)算,但僅在必要時(shí)才計(jì)算第二個(gè)操作數(shù)。
備注:
操作
x && y
對(duì)應(yīng)于操作
x & y
不同的是,如果 x 為 false,則不計(jì)算 y(因?yàn)椴徽?y 為何值,“與”操作的結(jié)果都為false)。這被稱作為“短路”計(jì)算。

不能重載條件“與”運(yùn)算符,但常規(guī)邏輯運(yùn)算符和運(yùn)算符 true 與 false 的重載,在某些限制條件下也被視為條件邏輯運(yùn)算符的重載。

二十二、||
條件“或”運(yùn)算符 (||) 執(zhí)行 bool 操作數(shù)的邏輯“或”運(yùn)算,但僅在必要時(shí)才計(jì)算第二個(gè)操作數(shù)。
備注:
操作
x || y
對(duì)應(yīng)于操作
x | y
不同的是,如果 x 為 true,則不計(jì)算 y(因?yàn)椴徽?y 為何值,“或”操作的結(jié)果都為true)。這被稱作為“短路”計(jì)算。

不能重載條件“或”運(yùn)算符,但規(guī)則邏輯運(yùn)算符和運(yùn)算符 true 與 false 的重載,在某些限制條件下也被視為條件邏輯運(yùn)算符的重載。

二十三、<<
左移運(yùn)算符 (<<) 將第一個(gè)操作數(shù)向左移動(dòng)第二個(gè)操作數(shù)指定的位數(shù)。第二個(gè)操作數(shù)的類型必須是 int。

備注:
如果第一個(gè)操作數(shù)是 int 或 uint(32 位數(shù)),則移位數(shù)由第二個(gè)操作數(shù)的低 5 位給出。
如果第一個(gè)操作數(shù)是 long 或 ulong(64 位數(shù)),則移位數(shù)由第二個(gè)操作數(shù)的低 6 位給出。
第一個(gè)操作數(shù)的高序位被放棄,低序空位用 0 填充。移位操作從不導(dǎo)致溢出。
用戶定義的類型可重載 << 運(yùn)算符(請參見 operator);第一個(gè)操作數(shù)的類型必須為用戶定義的類型,第二個(gè)操作數(shù)的類型必須為 int。重載二元運(yùn)算符時(shí),也會(huì)隱式重載相應(yīng)的賦值運(yùn)算符(如果有)。

二十四、>>
右移運(yùn)算符 (>>) 將第一個(gè)操作數(shù)向右移動(dòng)第二個(gè)操作數(shù)所指定的位數(shù)。

備注:
如果第一個(gè)操作數(shù)為 int 或 uint(32 位數(shù)),則移位數(shù)由第二個(gè)操作數(shù)的低五位給出(第二個(gè)操作數(shù) & 0x1f)。

如果第一個(gè)操作數(shù)為 long 或 ulong(64 位數(shù)),則移位數(shù)由第二個(gè)操作數(shù)的低六位給出(第二個(gè)操作數(shù) & 0x3f)。

如果第一個(gè)操作數(shù)為 int 或 long,則右移位是算術(shù)移位(高序空位設(shè)置為符號(hào)位)。如果第一個(gè)操作數(shù)為 uint 或 ulong 類型,則右移位是邏輯移位(高位填充 0)。

用戶定義的類型可重載 >> 運(yùn)算符;第一個(gè)操作數(shù)的類型必須為用戶定義的類型,第二個(gè)操作數(shù)的類型必須為 int。有關(guān)更多信息,請參見 operator。重載二元運(yùn)算符時(shí),也會(huì)隱式重載相應(yīng)的賦值運(yùn)算符(如果有)。

二十五、==
對(duì)于預(yù)定義的值類型,如果操作數(shù)的值相等,則相等運(yùn)算符 (==) 返回 true,否則返回 false。對(duì)于 string 以外的引用類型,如果兩個(gè)操作數(shù)引用同一個(gè)對(duì)象,則 == 返回 true。對(duì)于string 類型,== 比較字符串的值。

備注:
用戶定義的值類型可重載 == 運(yùn)算符(請參見 operator)。用戶定義的引用類型也可重載 == 運(yùn)算符,盡管在默認(rèn)情況下,無論對(duì)于預(yù)定義的引用類型還是用戶定義的引用類型,== 的行為都與上面描述的相同。如果重載 ==,則還必須重載 !=。在枚舉時(shí)通常允許整型運(yùn)算。

二十六、!=
如果操作數(shù)相等,則不等運(yùn)算符 (!=) 返回 false,否則,返回 true。為所有類型(包括字符串和對(duì)象)預(yù)定義了不等運(yùn)算符。用戶定義的類型可重載 != 運(yùn)算符。

備注:
對(duì)于預(yù)定義的值類型,如果操作數(shù)的值不同,則不等運(yùn)算符 (!=) 返回 true,否則,返回false。對(duì)于 string 以外的引用類型,如果兩個(gè)操作數(shù)引用不同的對(duì)象,則 != 返回 true。對(duì)于 string 類型,!= 比較字符串的值。

用戶定義的值類型可重載 != 運(yùn)算符(請參見 operator)。用戶定義的引用類型也可重載 != 運(yùn)算符,盡管在默認(rèn)情況下,無論對(duì)于預(yù)定義的引用類型還是用戶定義的引用類型,!= 的行為都與上面描述的相同。如果重載 !=,則還必須重載 ==。在枚舉時(shí)通常允許整型運(yùn)算。

二十七、<=
所有數(shù)值和枚舉類型都定義了“小于等于”關(guān)系運(yùn)算符 (<=),如果第一個(gè)操作數(shù)小于或等于第二個(gè)操作數(shù),則該運(yùn)算符將返回 true,否則返回 false。

二十八、>=
所有數(shù)值類型和枚舉類型都定義“大于等于”關(guān)系運(yùn)算符 >=,如果第一個(gè)操作數(shù)大于或等于第二個(gè)操作數(shù),該運(yùn)算符將返回 true,否則返回 false。

二十九、+=
加法賦值運(yùn)算符。
備注:
使用 += 賦值運(yùn)算符的表達(dá)式,例如
x += y
等效于
x = x + y
不同的是 x 只計(jì)算一次。+ 運(yùn)算符的含義取決于 x 和 y 的類型(例如,對(duì)于數(shù)值操作數(shù),其含義為相加;對(duì)于字符串操作數(shù),其含義為串聯(lián))。

不能直接重載 += 運(yùn)算符,但用戶定義的類型可以重載 + 運(yùn)算符(請參見 operator)。

三十、-=
減法賦值運(yùn)算符。
備注:
使用 -= 賦值運(yùn)算符的表達(dá)式,如
x -= y
等效于
x = x - y
不同的是 x 只計(jì)算一次。- 運(yùn)算符的含義取決于 x 和 y 的類型(例如,對(duì)于數(shù)值操作數(shù),其含義為相減;對(duì)于委托操作數(shù),其含義為移除)。

不能直接重載 -= 運(yùn)算符,但用戶定義的類型可重載 - 運(yùn)算符(請參見 operator)。

三十一、*=
二元乘法賦值運(yùn)算符。
備注:
使用 *= 賦值運(yùn)算符的表達(dá)式,如
x *= y
等效于
x = x * y
不同的是 x 只計(jì)算一次。為數(shù)值類型預(yù)定義了 * 運(yùn)算符以執(zhí)行乘法操作。
不能直接重載 *= 運(yùn)算符,但用戶定義的類型可重載 * 運(yùn)算符(請參見 operator)。

三十二、/=
除法賦值運(yùn)算符。
備注:
使用 /= 賦值運(yùn)算符的表達(dá)式,如
x /= y
等效于
x = x / y
不同的是 x 只計(jì)算一次。為數(shù)值類型預(yù)定義了 / 運(yùn)算符以執(zhí)行除法操作。
不能直接重載 /= 運(yùn)算符,但用戶定義的類型可重載 / 運(yùn)算符(請參見 operator)。對(duì)于所有復(fù)合賦值運(yùn)算符,隱式重載二元運(yùn)算符會(huì)重載等效的復(fù)合賦值。

三十三、%=
模塊賦值運(yùn)算符。
備注:
使用 %= 賦值運(yùn)算符的表達(dá)式,如
x %= y
等效于
x = x % y
不同的是 x 只計(jì)算一次。為數(shù)值類型預(yù)定義了 % 運(yùn)算符,以計(jì)算相除后的余數(shù)。
不能直接重載 %= 運(yùn)算符,但用戶定義的類型可重載 % 運(yùn)算符(請參見運(yùn)算符(C# 參考))。

三十四、&=
“與”賦值運(yùn)算符。
備注:
使用 &= 賦值運(yùn)算符的表達(dá)式,如
x &= y
等效于
x = x & y
不同的是 x 只計(jì)算一次。& 運(yùn)算符對(duì)整數(shù)操作數(shù)執(zhí)行按位邏輯“與”運(yùn)算,對(duì) bool 操作數(shù)執(zhí)行邏輯“與”運(yùn)算。
不能直接重載 &= 運(yùn)算符,但用戶定義的類型可重載二元 & 運(yùn)算符(請參見 operator)。

三十五、|=
“或”賦值運(yùn)算符。
備注:
使用 |= 賦值運(yùn)算符的表達(dá)式,例如
x |= y
等效于
x = x | y
不同的是 x 只計(jì)算一次。| 運(yùn)算符對(duì)整型操作數(shù)執(zhí)行按位邏輯“或”運(yùn)算,對(duì)布爾操作數(shù)執(zhí)行邏輯“或”運(yùn)算。
不能直接重載 |= 運(yùn)算符,但用戶定義的類型可以重載 | 運(yùn)算符(請參見 operator)。

三十六、^=
“異或”賦值運(yùn)算符。
備注:
下列形式的表達(dá)式
x ^= y
按如下規(guī)則計(jì)算:
x = x ^ y
不同的是 x 只計(jì)算一次。^ 運(yùn)算符對(duì)整數(shù)操作數(shù)執(zhí)行按位“異或”運(yùn)算,對(duì) bool 操作數(shù)執(zhí)行邏輯“異或”運(yùn)算。
不能直接重載 ^= 運(yùn)算符,但用戶定義的類型可重載 ! 運(yùn)算符(請參見 operator)。

三十七、<<=
左移賦值運(yùn)算符。
備注:
下列形式的表達(dá)式
x <<= y
按如下規(guī)則計(jì)算:
x = x << y
不同的是 x 只計(jì)算一次。<< 運(yùn)算符將 x 向左移動(dòng) y 指定的位數(shù)。
不能直接重載 <<= 運(yùn)算符,但用戶定義的類型可重載 << 運(yùn)算符(請參見 operator)。

三十八、>>=
右移賦值運(yùn)算符。
備注:
下列形式的表達(dá)式
x >>= y
按如下規(guī)則計(jì)算:
x = x >> y
不同的是 x 只計(jì)算一次。>> 運(yùn)算符根據(jù) y 指定的量對(duì) x 進(jìn)行右移位。
不能直接重載 >>= 運(yùn)算符,但用戶定義的類型可重載 >> 運(yùn)算符(請參見 operator)。

三十九、->
-> 運(yùn)算符將指針取消引用與成員訪問組合在一起。
備注:
以下形式的表達(dá)式
x->y
(其中 x 為 T* 類型的指針,y 為 T 的成員)等效于
(*x).y
-> 運(yùn)算符只能在非托管代碼中使用。
不能重載 -> 運(yùn)算符。

四十、??
如果 ?? 運(yùn)算符的左操作數(shù)非空,該運(yùn)算符將返回左操作數(shù),否則返回右操作數(shù)。

備注:
可空類型可以包含值,或者可以是未定義的。?? 運(yùn)算符定義當(dāng)可空類型分配給非可空類型時(shí)返回的默認(rèn)值。如果在將可空類型分配給非可空類型時(shí)不使用 ?? 運(yùn)算符,將生成編譯時(shí)錯(cuò)誤。如果使用強(qiáng)制轉(zhuǎn)換,并且當(dāng)前未定義可空類型,將發(fā)生 InvalidOperationException 異常。

相關(guān)文章

  • C#委托用法詳解

    C#委托用法詳解

    本文詳細(xì)講解了C#中委托的用法,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-02-02
  • C#中加載dll并調(diào)用其函數(shù)的實(shí)現(xiàn)方法

    C#中加載dll并調(diào)用其函數(shù)的實(shí)現(xiàn)方法

    下面小編就為大家?guī)硪黄狢#中加載dll并調(diào)用其函數(shù)的實(shí)現(xiàn)方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-02-02
  • c#語言程序構(gòu)建基塊

    c#語言程序構(gòu)建基塊

    這篇文章主要介紹了c#語言程序構(gòu)建基塊,關(guān)于c#程序構(gòu)建基塊我們要從成員開始,class?的成員要么是靜態(tài)成員,要么是實(shí)例成員。?靜態(tài)成員屬于類,而實(shí)例成員則屬于對(duì)象,具體內(nèi)容需要的小伙伴可以參考下面文章的詳細(xì)內(nèi)容
    2021-12-12
  • c#使用反射調(diào)用類型成員示例

    c#使用反射調(diào)用類型成員示例

    學(xué)習(xí)C#的時(shí)候就知道使用反射可以對(duì)我們編程提供極大的便利(動(dòng)態(tài)的獲取信息、調(diào)用類型成員、創(chuàng)建實(shí)例等等),下面示例說明一下使用方法
    2014-01-01
  • C#: 引用變量與數(shù)值變量的區(qū)別

    C#: 引用變量與數(shù)值變量的區(qū)別

    在C#中主要存在兩大類型的數(shù)據(jù):引用類型(class)和值類型(struct)。本文探討一下C#中引用變量和數(shù)值變量的區(qū)別。
    2013-03-03
  • Winform自定義控件在界面拖動(dòng)、滾動(dòng)鼠標(biāo)時(shí)閃爍的解決方法

    Winform自定義控件在界面拖動(dòng)、滾動(dòng)鼠標(biāo)時(shí)閃爍的解決方法

    這篇文章介紹了Winform自定義控件在界面拖動(dòng)、滾動(dòng)鼠標(biāo)時(shí)閃爍的解決方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-12-12
  • C#七大經(jīng)典排序算法系列(下)

    C#七大經(jīng)典排序算法系列(下)

    這篇文章主要為大家詳細(xì)介紹了C#七大經(jīng)典排序算法系列下篇,直接插入排序,希爾排序和歸并排序,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-04-04
  • C#使用Dynamic實(shí)現(xiàn)簡化反射

    C#使用Dynamic實(shí)現(xiàn)簡化反射

    這篇文章主要為大家詳細(xì)介紹了C#如何使用Dynamic來實(shí)現(xiàn)簡化反射,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價(jià)值,感興趣的小伙伴可以了解一下
    2023-07-07
  • c#使用IMap收取163郵件的方法示例

    c#使用IMap收取163郵件的方法示例

    大家都知道,設(shè)置IMAP服務(wù)后,不論是在客戶端、手機(jī)、iPad還是網(wǎng)頁中,發(fā)送郵件、閱讀郵件后在各處均可以同步顯示。下面這篇文章主要介紹了c#使用IMap收取163郵件的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下。
    2018-02-02
  • C#字符串內(nèi)存駐留機(jī)制分析

    C#字符串內(nèi)存駐留機(jī)制分析

    這篇文章介紹了C#字符串內(nèi)存駐留機(jī)制,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-01-01

最新評(píng)論