ASPnetC基本語(yǔ)法B篇程序結(jié)構(gòu)、運(yùn)算符_第1頁(yè)
ASPnetC基本語(yǔ)法B篇程序結(jié)構(gòu)、運(yùn)算符_第2頁(yè)
ASPnetC基本語(yǔ)法B篇程序結(jié)構(gòu)、運(yùn)算符_第3頁(yè)
ASPnetC基本語(yǔ)法B篇程序結(jié)構(gòu)、運(yùn)算符_第4頁(yè)
ASPnetC基本語(yǔ)法B篇程序結(jié)構(gòu)、運(yùn)算符_第5頁(yè)
已閱讀5頁(yè),還剩21頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、ASP net C 基本語(yǔ)法 B篇 程序結(jié)構(gòu)、運(yùn)算符第一章ASP.net C#基本語(yǔ)法(B篇程序結(jié)構(gòu)、運(yùn)算符、運(yùn)算優(yōu)先級(jí))2011-02-08 19:21第一章ASP.net C#基本語(yǔ)法(B篇程序結(jié)構(gòu)、運(yùn)算符、運(yùn)算優(yōu)先級(jí))在上一部分中我們做了一個(gè)簡(jiǎn)單的ASP.net的程序,但是簡(jiǎn)單中真的簡(jiǎn)約嗎?VS2010的模板提供了那些東西呢?單位現(xiàn)在需要計(jì)算很多的數(shù)字。如何實(shí)現(xiàn)呢?豆豆做了一個(gè)計(jì)算公式。做的是驚天地泣鬼神?。】墒墙Y(jié)果!算出來一個(gè)怪胎!這不郁悶著呢!本章目標(biāo):了解程序模板的結(jié)構(gòu),能夠使用運(yùn)算符,詳細(xì)剖析和熟練掌握運(yùn)算的優(yōu)先級(jí)本章結(jié)構(gòu)第一部分:項(xiàng)目結(jié)構(gòu)先看圖新建立的ASP.net怎么有這么多

2、東西?沒有?你建立一個(gè)ASP.net項(xiàng)目,按Ctrl+Alt+L看看現(xiàn)在解讀一下里面的項(xiàng)目VS2010里面模板帶的頁(yè)面比VS以前的版本要多很多,結(jié)構(gòu)更加的清晰了。希望大家保持這種清晰的方式來做頁(yè)面注意:沒一個(gè)aspx都帶一個(gè)aspx.cs,其中aspx頁(yè)面實(shí)現(xiàn)前臺(tái)的頁(yè)面顯示,也就是瀏覽器看到的內(nèi)容。前臺(tái)提交的處理由后臺(tái)的aspx.cs進(jìn)行處理,其處理過程瀏覽器是看不到的,這樣很有效的提高的程序的安全性和邏輯性。第二部分:程序結(jié)構(gòu)如下圖:第三部分:運(yùn)算符一、方括號(hào)()用于數(shù)組、索引器和屬性,也可用于指針。1、數(shù)組類型是一種后跟的類型:int fib=new int100;/創(chuàng)建一個(gè)有100元素的

3、數(shù)組若要訪問數(shù)組的一個(gè)元素,則用方括號(hào)括起所需元素的索引:fib0=fib1=1;for(int i=2;i 100;+i)fibi=fibi-1+fibi-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();ha=1

4、23;/note:using astring as the index 3、方括號(hào)還用于指定屬性(C#編程指南):attribute(AllowMultiple=true)public class Attr 4、可以使用方括號(hào)來指定指針?biāo)饕簎nsafe fixed(int*p=fib)/p points to fib from earlier example p0=p1=1;for(int i=2;i 100;+i)pi=pi-1+pi-2;二、()除了用于指定表達(dá)式中的運(yùn)算順序外,圓括號(hào)還用于指定強(qiáng)制轉(zhuǎn)換或類型轉(zhuǎn)換:double x=1234.7;int a;a=(int)x;/cast

5、double to int三、.點(diǎn)運(yùn)算符(.)用于成員訪問。點(diǎn)運(yùn)算符指定類型或命名空間的成員。例如,點(diǎn)運(yùn)算符用于訪問.NET Framework類庫(kù)中的特定方法: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ù)

6、值類型進(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)。using System;class MainClass static void Main()Console.WriteLine(+5);/unary plus Console.WriteLine(5+5);/addition Console.WriteLine(5+.5);/addition Console.WriteLine

7、(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 Ma

8、in()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.Write

9、Line(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 st

10、atic 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ù)的邏輯與;也就

11、是說,當(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);/l

12、ogical or Console.WriteLine(0x0: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(truefalse);/logical exclusive-or Console.WriteLine(falsefalse);/logical exclusive-or

13、/Bitwise exclusive-or:Console.WriteLine(0x0:x,0xf80x3f);十三、!邏輯非運(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

14、 MainClass static void Main()int values=0,0x111,0xfffff,0x8888,0x 22000022;foreach(int vin values)Console.WriteLine(0x0:x8=0x1: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 in

15、t assignment x=i;/implicit conversion from int to double i=(int)x;/needs cast Console.WriteLine(i is0,x is1,i,x);object obj=i;Console.WriteLine(boxed value=0,type is1,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 Syst

16、em;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)算符的格式如下conditi

17、on?first_expression:second_expression;備注:如果條件為true,則計(jì)算第一表達(dá)式并以它的計(jì)算結(jié)果為準(zhǔn);如果為false,則計(jì)算第二表達(dá)式并以它的計(jì)算結(jié)果為準(zhǔn)。只計(jì)算兩個(gè)表達(dá)式中的一個(gè)。使用條件運(yùn)算符,可以更簡(jiǎ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ù)之前或之后:備注:第一種形式是前綴增量操

18、作。該操作的結(jié)果是操作數(shù)加1之后的值。第二種形式是后綴增量操作。該運(yùn)算的結(jié)果是操作數(shù)增加之前的值。數(shù)值類型和枚舉類型具有預(yù)定義的增量運(yùn)算符。用戶定義的類型可重載+運(yùn)算符。在枚舉時(shí)通常允許整型運(yùn)算。/cs_operator_increment.cs using System;class MainClass static void Main()double x;x=1.5;Console.WriteLine(+x);x=1.5;Console.WriteLine(x+);Console.WriteLine(x);二十、-減量運(yùn)算符(-)將操作數(shù)減1。減量運(yùn)算符可以出現(xiàn)在操作數(shù)之前或之后:-vari

19、able和variable-。第一種形式是前綴減量操作。該運(yùn)算的結(jié)果是操作數(shù)減小之后的值。第二種形式是后綴減量操作。該運(yùn)算的結(jié)果是操作數(shù)減小之前的值。備注:數(shù)值類型和枚舉類型具有預(yù)定義的增量運(yùn)算符。用戶定義的類型可重載-運(yùn)算符(請(qǐng)參見運(yùn)算符)。在枚舉時(shí)通常允許整型運(yùn)算。/cs_operator_decrement.cs using System;class MainClass static void Main()double x;x=1.5;Console.WriteLine(-x);x=1.5;Console.WriteLine(x-);Console.WriteLine(x);二十一、&條

20、件與運(yùn)算符(&)執(zhí)行其bool操作數(shù)的邏輯與運(yùn)算,但僅在必要時(shí)才計(jì)算第二個(gè)操作數(shù)。備注:操作x&y對(duì)應(yīng)于操作x&y不同的是,如果x為false,則不計(jì)算y(因?yàn)椴徽搚為何值,與操作的結(jié)果都為false)。這被稱作為短路計(jì)算。不能重載條件與運(yùn)算符,但常規(guī)邏輯運(yùn)算符和運(yùn)算符true與false的重載,在某些限制條件下也被視為條件邏輯運(yùn)算符的重載。示例在下面的示例中,請(qǐng)觀察使用&的表達(dá)式只計(jì)算第一個(gè)操作數(shù)。using System;class MainClass static bool Method1()Console.WriteLine(Method1 called);return false;s

21、tatic bool Method2()Console.WriteLine(Method2 called);return true;static void Main()Console.WriteLine(regular AND:);Console.WriteLine(result is0,Method1()&Method2();Console.WriteLine(short-circuit AND:);Console.WriteLine(result is0,Method1()&Method2();二十二、|條件或運(yùn)算符(|)執(zhí)行bool操作數(shù)的邏輯或運(yùn)算,但僅在必要時(shí)才計(jì)算第二個(gè)操作數(shù)。備注

22、:操作x|y對(duì)應(yīng)于操作x|y不同的是,如果x為true,則不計(jì)算y(因?yàn)椴徽搚為何值,或操作的結(jié)果都為true)。這被稱作為短路計(jì)算。不能重載條件或運(yùn)算符,但規(guī)則邏輯運(yùn)算符和運(yùn)算符true與false的重載,在某些限制條件下也被視為條件邏輯運(yùn)算符的重載。示例在下面的示例中,請(qǐng)觀察使用|的表達(dá)式只計(jì)算第一個(gè)操作數(shù)。using System;class MainClass static bool Method1()Console.WriteLine(Method1 called);return true;static bool Method2()Console.WriteLine(Method2

23、called);return false;static void Main()Console.WriteLine(regular OR:);Console.WriteLine(result is0,Method1()|Method2();Console.WriteLine(short-circuit OR:);Console.WriteLine(result is0,Method1()|Method2();二十三、左移運(yùn)算符()將第一個(gè)操作數(shù)向左移動(dòng)第二個(gè)操作數(shù)指定的位數(shù)。第二個(gè)操作數(shù)的類型必須是int。備注:如果第一個(gè)操作數(shù)是int或uint(32位數(shù)),則移位數(shù)由第二個(gè)操作數(shù)的低5位給出。

24、如果第一個(gè)操作數(shù)是long或ulong(64位數(shù)),則移位數(shù)由第二個(gè)操作數(shù)的低6位給出。第一個(gè)操作數(shù)的高序位被放棄,低序空位用0填充。移位操作從不導(dǎo)致溢出。用戶定義的類型可重載運(yùn)算符(請(qǐng)參見operator);第一個(gè)操作數(shù)的類型必須為用戶定義的類型,第二個(gè)操作數(shù)的類型必須為int。重載二元運(yùn)算符時(shí),也會(huì)隱式重載相應(yīng)的賦值運(yùn)算符(如果有)。示例using System;class MainClass static void Main()int i=1;long lg=1;Console.WriteLine(0x0:x,i 1);Console.WriteLine(0x0:x,i 33);Cons

25、ole.WriteLine(0x0:x,lg 33);二十四、右移運(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ù)的類型必

26、須為int。有關(guān)更多信息,請(qǐng)參見operator。重載二元運(yùn)算符時(shí),也會(huì)隱式重載相應(yīng)的賦值運(yùn)算符(如果有)。示例using System;class MainClass static void Main()int i=-1000;Console.WriteLine(i 3);二十五、=對(duì)于預(yù)定義的值類型,如果操作數(shù)的值相等,則相等運(yùn)算符(=)返回true,否則返回false。對(duì)于string以外的引用類型,如果兩個(gè)操作數(shù)引用同一個(gè)對(duì)象,則=返回true。對(duì)于string類型,=比較字符串的值。備注:用戶定義的值類型可重載=運(yùn)算符(請(qǐng)參見operator)。用戶定義的引用類型也可重載=運(yùn)算符,盡

27、管在默認(rèn)情況下,無論對(duì)于預(yù)定義的引用類型還是用戶定義的引用類型,=的行為都與上面描述的相同。如果重載=,則還必須重載!=。在枚舉時(shí)通常允許整型運(yùn)算。示例using System;class MainClass static void Main()/Numeric equality:True Console.WriteLine(2+2)=4);/Reference equality:different objects,/same boxed value:False.object s=1;object t=1;Console.WriteLine(s=t);/Define some strings:

28、string a=hello;string b=String.Copy(a);string c=hello;/Compare string values of aconstant and an instance:True Console.WriteLine(a=b);/Compare string references;/a is aconstant but bis an instance:False.Console.WriteLine(object)a=(object)b);/Compare string references,both constants/have the same val

29、ue,so string interning/points to same reference:True.Console.WriteLine(object)a=(object)c);二十六、!=如果操作數(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類型,!=比較字符串的值。用戶定義的值類型可重載!=

30、運(yùn)算符(請(qǐng)參見operator)。用戶定義的引用類型也可重載!=運(yùn)算符,盡管在默認(rèn)情況下,無論對(duì)于預(yù)定義的引用類型還是用戶定義的引用類型,!=的行為都與上面描述的相同。如果重載!=,則還必須重載=。在枚舉時(shí)通常允許整型運(yùn)算。示例using System;class MainClass static void Main()/Numeric inequality:Console.WriteLine(2+2)!=4);/Reference equality:two objects,same boxed value object s=1;object t=1;Console.WriteLine(s!=

31、t);/String equality:same string value,same string objects string a=hello;string b=hello;/compare string values Console.WriteLine(a!=b);/compare string references Console.WriteLine(object)a!=(object)b);二十七、=所有數(shù)值和枚舉類型都定義了小于等于關(guān)系運(yùn)算符(=),如果第一個(gè)操作數(shù)小于或等于第二個(gè)操作數(shù),則該運(yùn)算符將返回true,否則返回false。using System;class MainCl

32、ass static void Main()Console.WriteLine(1=1.1);Console.WriteLine(1.1=1.1);二十八、=所有數(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);二十九、+=加法賦值運(yùn)算符。備注:使用+=賦值運(yùn)算符的表達(dá)式,例如x+=y等效于x=x+y不同的是x只計(jì)算一次

33、。+運(yùn)算符的含義取決于x和y的類型(例如,對(duì)于數(shù)值操作數(shù),其含義為相加;對(duì)于字符串操作數(shù),其含義為串聯(lián))。不能直接重載+=運(yùn)算符,但用戶定義的類型可以重載+運(yùn)算符(請(qǐng)參見operator)。示例using System;class MainClass static void Main()int a=5;a+=6;Console.WriteLine(a);string s=Micro;s+=soft;Console.WriteLine(s);三十、-=減法賦值運(yùn)算符。備注:使用-=賦值運(yùn)算符的表達(dá)式,如x-=y等效于x=x-y不同的是x只計(jì)算一次。-運(yùn)算符的含義取決于x和y的類型(例如,對(duì)于數(shù)值

34、操作數(shù),其含義為相減;對(duì)于委托操作數(shù),其含義為移除)。不能直接重載-=運(yùn)算符,但用戶定義的類型可重載-運(yùn)算符(請(qǐng)參見operator)。示例using System;class MainClass static void Main()int a=5;a-=6;Console.WriteLine(a);三十一、*=二元乘法賦值運(yùn)算符。備注:使用*=賦值運(yùn)算符的表達(dá)式,如x*=y等效于x=x*y不同的是x只計(jì)算一次。為數(shù)值類型預(yù)定義了*運(yùn)算符以執(zhí)行乘法操作。不能直接重載*=運(yùn)算符,但用戶定義的類型可重載*運(yùn)算符(請(qǐng)參見operator)。示例using System;class MainClass

35、 static void Main()int a=5;a*=6;Console.WriteLine(a);三十二、/=除法賦值運(yùn)算符。備注:使用/=賦值運(yùn)算符的表達(dá)式,如x/=y等效于x=x/y不同的是x只計(jì)算一次。為數(shù)值類型預(yù)定義了/運(yùn)算符以執(zhí)行除法操作。不能直接重載/=運(yùn)算符,但用戶定義的類型可重載/運(yùn)算符(請(qǐng)參見operator)。對(duì)于所有復(fù)合賦值運(yùn)算符,隱式重載二元運(yùn)算符會(huì)重載等效的復(fù)合賦值。示例using System;class MainClass static void Main()int a=5;a/=6;Console.WriteLine(a);double b=5;b/=6

36、;Console.WriteLine(b);三十三、%=模塊賦值運(yùn)算符。備注:使用%=賦值運(yùn)算符的表達(dá)式,如x%=y等效于x=x%y不同的是x只計(jì)算一次。為數(shù)值類型預(yù)定義了%運(yùn)算符,以計(jì)算相除后的余數(shù)。不能直接重載%=運(yùn)算符,但用戶定義的類型可重載%運(yùn)算符(請(qǐng)參見運(yùn)算符(C#參考)。示例using System;class MainClass static void Main()int a=5;a%=3;Console.WriteLine(a);三十四、&=與賦值運(yùn)算符。備注:使用&=賦值運(yùn)算符的表達(dá)式,如x&=y等效于x=x&y不同的是x只計(jì)算一次。&運(yùn)算符對(duì)整數(shù)操作數(shù)執(zhí)行按位邏輯與運(yùn)算,對(duì)

37、bool操作數(shù)執(zhí)行邏輯與運(yùn)算。不能直接重載&=運(yùn)算符,但用戶定義的類型可重載二元&運(yùn)算符(請(qǐng)參見operator)。示例using System;class MainClass static void Main()int a=0x0c;a&=0x06;Console.WriteLine(0x0:x8,a);bool b=true;b&=false;Console.WriteLine(b);三十五、|=或賦值運(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)算符,但用戶

38、定義的類型可以重載|運(yùn)算符(請(qǐng)參見operator)。示例using System;class MainClass static void Main()int a=0x0c;a|=0x06;Console.WriteLine(0x0:x8,a);bool b=true;b|=false;Console.WriteLine(b);三十六、=異或賦值運(yùn)算符。備注:下列形式的表達(dá)式x=y按如下規(guī)則計(jì)算:x=xy不同的是x只計(jì)算一次。運(yùn)算符對(duì)整數(shù)操作數(shù)執(zhí)行按位異或運(yùn)算,對(duì)bool操作數(shù)執(zhí)行邏輯異或運(yùn)算。不能直接重載=運(yùn)算符,但用戶定義的類型可重載!運(yùn)算符(請(qǐng)參見operator)。示例using Sy

39、stem;class MainClass static void Main()int a=0x0c;a=0x06;Console.WriteLine(0x0:x8,a);bool b=true;b=false;Console.WriteLine(b);三十七、=左移賦值運(yùn)算符。備注:下列形式的表達(dá)式x=y按如下規(guī)則計(jì)算:x=x y不同的是x只計(jì)算一次。運(yùn)算符將x向左移動(dòng)y指定的位數(shù)。不能直接重載=運(yùn)算符,但用戶定義的類型可重載運(yùn)算符(請(qǐng)參見operator)。示例using System;class MainClass static void Main()int a=1000;a=4;Console.WriteLine(a);三十八、=右移賦值運(yùn)算符。備注:下列形式的表達(dá)式x=y按如下規(guī)則計(jì)算:x=x y不同的是x只計(jì)算一次。運(yùn)算符根據(jù)y指定的量對(duì)x進(jìn)行右移位。不能直接重載=運(yùn)算符,但用戶定義的類型可重載運(yùn)算符(請(qǐng)參見operator)。示例using System;class MainClas

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論