版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
-1-掌握C#中的變量、常量、以及關(guān)鍵字掌握C#基本數(shù)據(jù)類型理解裝箱和拆箱的概念掌握C#中的各種運(yùn)算符及其優(yōu)先級(jí)掌握C#中的分支、循環(huán)語(yǔ)句掌握字符串操作掌握C#中的異常處理過(guò)程目標(biāo)-2-變量變量是在程序運(yùn)行過(guò)程中可以改變值的量,變量通常用來(lái)表示存儲(chǔ)程序的中間結(jié)果和最終結(jié)果。變量在使用前必須進(jìn)行聲明。變量的聲明數(shù)據(jù)類型變量;
例如:intx=25;
-3-變量的命名變量的名稱,在定義時(shí)必須遵循以下規(guī)則:變量名必須以字母開(kāi)頭;變量名只能由字母、數(shù)字和下劃線組成,而不能包含空格、標(biāo)點(diǎn)符號(hào)、運(yùn)算符等其他符號(hào);變量名不能與C#中的關(guān)鍵字名稱相同;變量名不能與C#中的庫(kù)函數(shù)名稱相同。-4-常量常量是在程序運(yùn)行中值不可發(fā)生改變的量。const數(shù)據(jù)類型變量;
例如:constinta=123;語(yǔ)法格式常量的特征:必須在聲明時(shí)初始化常量總是靜態(tài)的-5-數(shù)據(jù)類型C#是強(qiáng)類型語(yǔ)言,在使用變量和對(duì)象時(shí)必須聲明類型。C#語(yǔ)言中的數(shù)據(jù)類型主要分為兩類:數(shù)值類型引用類型區(qū)別:數(shù)值類型的變量值直接包含數(shù)據(jù),而引用類型的變量把它們的引用存儲(chǔ)在對(duì)象中-6-值類型C#中的數(shù)值類型主要包括:整型字符型浮點(diǎn)型小數(shù)型布爾型結(jié)構(gòu)體(struct)枚舉(enum)-7-整型C#中整型類型大致可以分為8種子類型:類型定義sbyte有符號(hào)的8位整數(shù),數(shù)值范圍從-128~127byte無(wú)符號(hào)的8位整數(shù),數(shù)值范圍從0~255short有符號(hào)的16位整數(shù),范圍從-32768~32767ushort無(wú)符號(hào)的16位整數(shù),范圍從0~65535int有符號(hào)的32位整數(shù),范圍從-2147483648~2147483648uint無(wú)符號(hào)的32位整數(shù),范圍從0~4294967295long有符號(hào)的64位整數(shù),范圍從-9223372036854775808~9223372036854775808ulong無(wú)符號(hào)的64位整數(shù),范圍從0~18446744073709551615-8-char型char型也叫字符型,可以處理無(wú)符號(hào)的16位整數(shù),其數(shù)值范圍為0~65535。在對(duì)char型進(jìn)行賦值時(shí)需要使用‘(單引號(hào))括起來(lái)char有以下3種賦值方法:chara='A';chara='\x0065'; //十六進(jìn)制chara='\u0065'; //unicode表示法
-9-char型_轉(zhuǎn)義字符在char型中還定義了一些轉(zhuǎn)義字符,以方便程序開(kāi)發(fā)中使用,如下表所示。轉(zhuǎn)義字符描述轉(zhuǎn)義字符描述\'用來(lái)表示單引號(hào)\f用來(lái)表示換頁(yè)\"用來(lái)表示雙引號(hào)\n用來(lái)表示換行\(zhòng)\用來(lái)表示反斜杠\r用來(lái)表示回車(chē)\0用來(lái)表示空字符\t用來(lái)表示水平tab\a用來(lái)表示感嘆號(hào)\v用來(lái)表示垂直tab\b用來(lái)表示退格-10-浮點(diǎn)型C#同其他類型語(yǔ)言一樣支持浮點(diǎn)數(shù)類型,C#中的浮點(diǎn)數(shù)類型主要有兩種:float:所能表示的值的范圍大約可以從1.5×10-45~3.4×1038,精確到小數(shù)點(diǎn)后面7位;double:表示的值的范圍大約可以從5.0×10-324~1.7×10308,精確到小數(shù)點(diǎn)后面15位或16位。floatt=12.3F; //單精度浮點(diǎn)數(shù)doubled=4.56; //雙精度浮點(diǎn)數(shù)語(yǔ)法格式:注意:在給float類型的變量進(jìn)行賦值時(shí),需要在其后加上字符F(或f);而double則可直接賦值-11-小數(shù)型小數(shù)型decimal主要用來(lái)進(jìn)行金融和貨幣的運(yùn)算,其取值范圍從1.0×10-28~7.9×1028,精確到小數(shù)點(diǎn)后面28位。decimala=0.5m; //聲明一個(gè)小數(shù)類型的變量并賦值語(yǔ)法格式:-12-布爾型定義布爾型變量的關(guān)鍵字為bool,布爾類型的值為true或false,布爾型不能與其他類型相互轉(zhuǎn)換。boola=true;語(yǔ)法格式:-13-引用類型引用類型包括:類類型接口類型委托類型數(shù)組類型引用類型的變量又稱為對(duì)象,可存儲(chǔ)對(duì)實(shí)際數(shù)據(jù)的引用。如果聲明了一個(gè)引用類型的變量卻不給它賦給任何對(duì)象,那么它的默認(rèn)值就是null。-14-裝箱和拆箱裝箱(boxing)和拆箱(unboxing)的概念是C#的類型系統(tǒng)的核心,它在值類型和引用類型之間架起了一座橋梁,使得在C#類型系統(tǒng)中,任何值類型都可以轉(zhuǎn)換為object類型,反過(guò)來(lái)也可以。-15-裝箱操作裝箱轉(zhuǎn)換是指將一個(gè)值類型隱式地轉(zhuǎn)換成一個(gè)object類型。將一個(gè)值類型的值裝箱,就是創(chuàng)建一個(gè)object實(shí)例并將這個(gè)值復(fù)制給該object。示例inti=123;objecto=i;//裝箱(裝箱用object)-16-拆箱操作拆箱轉(zhuǎn)換是指將一個(gè)對(duì)象類型顯式轉(zhuǎn)換成一個(gè)值類型。拆箱的過(guò)程分為下述兩步:檢查這個(gè)對(duì)象實(shí)例,看它是否為給定的值類型的裝箱值;把這個(gè)實(shí)例的值拷貝給值類型的變量。示例inti=123;objecto=i;i=(int)o;-17-運(yùn)算符運(yùn)算符是組成表達(dá)式的關(guān)鍵,用來(lái)對(duì)變量、常量或數(shù)據(jù)進(jìn)行計(jì)算的符號(hào)。C#運(yùn)算符大體分為6種:算術(shù)運(yùn)算符條件運(yùn)算符邏輯運(yùn)算符關(guān)系運(yùn)算符賦值運(yùn)算符成員訪問(wèn)運(yùn)算符運(yùn)算符類別:一元運(yùn)算符:只作用于一個(gè)操作數(shù),有前綴運(yùn)算符和后綴運(yùn)算符。二元運(yùn)算符:作用于兩個(gè)操作數(shù),使用時(shí)在操作數(shù)中間插入二元運(yùn)算符。三元運(yùn)算符:C#中僅有一個(gè)三元運(yùn)算符“?:”,它作用于三個(gè)操作數(shù),使用時(shí)在操作數(shù)中間插入操作符。
-18-算術(shù)運(yùn)算符算術(shù)運(yùn)算符主要用于算術(shù)運(yùn)算,例如實(shí)現(xiàn)加、減、乘、除等算術(shù)基本操作。算術(shù)運(yùn)算符說(shuō)明表達(dá)式+執(zhí)行加法運(yùn)算(如果兩個(gè)操作數(shù)是字符串,則該運(yùn)算符用作字符串連接運(yùn)算符,將一個(gè)字符串添加到另一個(gè)字符串的末尾)oper1+oper2-執(zhí)行減法運(yùn)算oper1-oper2*執(zhí)行乘法運(yùn)算oper1*oper2/執(zhí)行除法運(yùn)算oper1/oper2%執(zhí)行求余運(yùn)算oper1%oper2++將操作數(shù)加1oper++或++oper--將操作數(shù)減1oper--或--oper~將一個(gè)數(shù)按位取反~oper-19-算術(shù)運(yùn)算符示例classOperatorDemo{ staticvoidMain(string[]args) { //定義兩個(gè)變量
intx=5,y=3; //兩個(gè)數(shù)進(jìn)行算術(shù)運(yùn)算并輸出
Console.WriteLine("{0}+{1}={2}",x,y,x+y); Console.WriteLine("{0}-{1}={2}",x,y,x-y); Console.WriteLine("{0}*{1}={2}",x,y,x*y); Console.WriteLine("{0}/{1}={2}",x,y,x/y); Console.WriteLine("{0}%{1}={2}",x,y,x%y); }}示例中代碼使用到了占位符“{n}”,對(duì)其的解釋如下圖所示。-20-賦值運(yùn)算符“=”被稱為賦值運(yùn)算符,在一個(gè)賦值過(guò)程中,右操作數(shù)必須為某種類型的表達(dá)式,且該類型必須可以隱式的轉(zhuǎn)換為左操作數(shù)類型。復(fù)合賦值運(yùn)算符是在賦值運(yùn)算符“=”前面加上其他運(yùn)算符,例如:+=,-=,*=,/=,%=。復(fù)合賦值運(yùn)算符其實(shí)是程序的一種簡(jiǎn)化做法,凡是二元運(yùn)算都可以用復(fù)合賦值運(yùn)算符對(duì)表達(dá)式進(jìn)行簡(jiǎn)化,其含義就是變量與表達(dá)式先進(jìn)行運(yùn)算,再把運(yùn)算結(jié)果賦值給該變量。a+=2;//等價(jià)于a=a+2b-=3;//等價(jià)于b=b-3c*=4;//等價(jià)于c=c*4d/=5;//等價(jià)于d=d/5e%=6;//等價(jià)于e=e%6-21-關(guān)系運(yùn)算符關(guān)系運(yùn)算是進(jìn)行一種判斷,判斷的結(jié)果要么是真,要么是假,即關(guān)系表達(dá)式的返回值都是布爾值。關(guān)系運(yùn)算符說(shuō)明表達(dá)式>判斷一個(gè)數(shù)是否大于另一個(gè)數(shù)oper1>oper2<判斷一個(gè)數(shù)是否小于另一個(gè)數(shù)oper1<oper2>=判斷一個(gè)數(shù)是否大于或等于另一個(gè)數(shù)oper1>=oper2<=判斷一個(gè)數(shù)是否小于或等于另一個(gè)數(shù)oper1<=oper2==判斷兩個(gè)值是否相等oper1==oper2!=判斷兩個(gè)值是否不相等oper1!=oper2-22-邏輯運(yùn)算符C#語(yǔ)言提供了三種邏輯運(yùn)算符:&&:邏輯與||:邏輯或!:邏輯非邏輯操作符的運(yùn)算結(jié)果可以用“真值表”來(lái)表示,如下表5所示。aba&&ba||b!atruetruetruetruefalsetruefalsefalsetruefalsefalsetruefalsetruetruefalsefalsefalsefalsetrue-23-三元運(yùn)算符三元運(yùn)算符“?:”也稱為條件運(yùn)算符,是“if…else”結(jié)構(gòu)的簡(jiǎn)化形式。三元運(yùn)算符名稱的出處是因?yàn)樗鼛в腥齻€(gè)操作數(shù),其語(yǔ)法結(jié)構(gòu)如下:condition?true_value:false_valuecondition是要計(jì)算的布爾型表達(dá)式
true_value是當(dāng)condition為true時(shí)返回的值false_value是當(dāng)condition為false時(shí)返回的值-24-運(yùn)算符優(yōu)先級(jí)運(yùn)算符優(yōu)先級(jí)由高到底的次序如下:運(yùn)算符類型運(yùn)算符初級(jí)運(yùn)算符(),x.y,f(x),a[x],x++,x--,new,typeof,checked,unchecked一元運(yùn)算符+,-,!,~,++x,--x,(T)x算術(shù)運(yùn)算符*,/,%算術(shù)運(yùn)算符+,-位運(yùn)算符<<,>>,&,|,^關(guān)系運(yùn)算符<,>,<=,>=,is,as比較運(yùn)算符==,!=邏輯運(yùn)算符&&邏輯運(yùn)算符||三元運(yùn)算符?:賦值運(yùn)算符=,+=,-=,*=,/=,<<=,>>=,&=,^=,|=-25-分支結(jié)構(gòu)-1C#中的分支語(yǔ)句:if語(yǔ)句if…else語(yǔ)句嵌套if語(yǔ)句switch語(yǔ)句if(表達(dá)式)
語(yǔ)句1;else
語(yǔ)句2;if…else格式嵌套if格式if(表達(dá)式1)
語(yǔ)句1;elseif(表達(dá)式2)
語(yǔ)句2;......else
語(yǔ)句n;-26-分支結(jié)構(gòu)-2示例publicclassCondational{ staticvoidMain(string[]args){ Console.WriteLine("請(qǐng)輸入分?jǐn)?shù)后按回車(chē):");//輸出提示信息
stringr1=Console.ReadLine();//獲取用戶輸入的成績(jī)
doubleresult=Convert.ToDouble(r1);//將用戶輸入的成績(jī)類型轉(zhuǎn)換為double類型
//驗(yàn)證用戶輸入的成績(jī)是否在0-100范圍之內(nèi)
if(result<0||result>100){ Console.WriteLine("您輸入的數(shù)據(jù)不合法!"); return; } if(result<60){ //輸入成績(jī)小于60時(shí)的輸出信息
Console.WriteLine("不及格!"); }elseif(result<70){ //輸入成績(jī)小于70且大于80時(shí)的輸出信息
Console.WriteLine("及格!"); }elseif(result<80){ //輸入成績(jī)小于80且大于70時(shí)的輸出信息
Console.WriteLine("中等!"); }elseif(result<90){ //輸入成績(jī)小于90且大于80時(shí)的輸出信息
Console.WriteLine("良好!"); }else{ //輸入成績(jī)小于90-100時(shí)的輸出信息
Console.WriteLine("優(yōu)秀!"); } }}-27-分支結(jié)構(gòu)-3switch(參數(shù)){ case參數(shù)的對(duì)應(yīng)值1:操作1;break; case參數(shù)的對(duì)應(yīng)值2:操作2;break; case參數(shù)的對(duì)應(yīng)值3:操作3;break; default:操作N;}switch語(yǔ)句格式-28-循環(huán)結(jié)構(gòu)-1for(初始化表達(dá)式;條件表達(dá)式;迭代表達(dá)式){
循環(huán)語(yǔ)句;}在C#語(yǔ)言中的循環(huán)語(yǔ)句:forwhiledo…whileforeachfor語(yǔ)句:一般用于已知重復(fù)執(zhí)行次數(shù)的循環(huán)-29-循環(huán)結(jié)構(gòu)-2for循環(huán)示例classForDemo{ staticvoidMain(string[]args) { intsum=0; Console.WriteLine("輸入10個(gè)數(shù),然后計(jì)算這10個(gè)數(shù)的和!"); for(inti=0;i<10;i++) { Console.WriteLine("請(qǐng)輸入第{0}個(gè)后按回車(chē):",i+1); sum+=int.Parse(Console.ReadLine()); } Console.WriteLine("10個(gè)數(shù)的和為:"+sum); Console.WriteLine(); }}-30-循環(huán)結(jié)構(gòu)-3while(條件表達(dá)式){
循環(huán)語(yǔ)句;}while語(yǔ)句:一般用于重復(fù)執(zhí)行次數(shù)可變的循環(huán)classWhileDemo{ staticvoidMain(string[]args) { intsum=0; inti=0; Console.WriteLine("輸入10個(gè)數(shù),然后計(jì)算這10個(gè)數(shù)的和!"); while(i<10) { Console.WriteLine("請(qǐng)輸入第{0}個(gè)后按回車(chē):",i+1); sum+=int.Parse(Console.ReadLine()); i++; } Console.WriteLine("10個(gè)數(shù)的和為:"+sum); }}while語(yǔ)句示例:-31-循環(huán)結(jié)構(gòu)-4do{
循環(huán)語(yǔ)句;}while(條件表達(dá)式);do...while語(yǔ)句:先執(zhí)行一次循環(huán)語(yǔ)句,然后再判斷while中的條件。do…while語(yǔ)句示例:classDoWhile{ staticvoidMain(string[]args) { inti=0; intsum=0; do { i++; sum=sum+i; }while(i<10); Console.WriteLine("1到{0}的和為:{1}",i,sum); }}-32-循環(huán)結(jié)構(gòu)-5foreach(數(shù)據(jù)類型局部變量in集合){
循環(huán)語(yǔ)句;}foreach語(yǔ)句:遍歷數(shù)組或集合中的元素foreach示例:classForeach{ staticvoidMain(string[]args){ //定義整型數(shù)組
int[]num={1,2,3,4,5,6,7,8,9,10}; foreach(intiinnum){ Console.WriteLine(i); } }}-33-跳轉(zhuǎn)語(yǔ)句-1跳轉(zhuǎn)語(yǔ)句用于無(wú)條件地轉(zhuǎn)移控制。C#中的跳轉(zhuǎn)語(yǔ)句包括:breakcontinuereturnbreak語(yǔ)句:退出直接封閉它的switch、while、do…while、for或foreach語(yǔ)句。for(inti=1;i<10;i++){ if(i==5) break; Console.WriteLine(i);}-34-跳轉(zhuǎn)語(yǔ)句-2continue語(yǔ)句:跳出此次循環(huán)體,繼續(xù)進(jìn)入到下一次循環(huán)。return語(yǔ)句:返回到出現(xiàn)return語(yǔ)句的函數(shù)成員的調(diào)用方。不帶表達(dá)式的return語(yǔ)句只能用在不返回值的函數(shù)成員中,即函數(shù)的返回類型為void。for(inti=1;i<10;i++){ if(i==5) continue; Console.WriteLine(i);}staticintAdd(inta,intb){ returna+b;}staticvoidMain(string[]args){ Console.WriteLine(Add(1,2)); return;}-35-其他語(yǔ)句lock語(yǔ)句
lock語(yǔ)句用于獲取某個(gè)給定對(duì)象的互斥鎖,執(zhí)行一條語(yǔ)句,然后釋放該鎖。當(dāng)一個(gè)互斥鎖被占用時(shí),其他線程中執(zhí)行的代碼在該鎖被釋放前是無(wú)法獲得它的。using語(yǔ)句通過(guò)使用using語(yǔ)句來(lái)指定使用資源的對(duì)象應(yīng)何時(shí)釋放資源。//獲取StreamWriter,執(zhí)行結(jié)束之后,釋放該資源using(StreamWritersw=newStreamWriter("haier.txt")){ sw.WriteLine("青島"); sw.WriteLine("海爾軟件");}代碼中using語(yǔ)句被轉(zhuǎn)換成三個(gè)部分:獲取、使用和釋放-36-字符串字符串是最常用的數(shù)據(jù)類型之一,在C#中字符串string是System.String類的一個(gè)引用類型,但與其他引用類型不同的是,在C#中可將字符串視為一個(gè)基本類型:可以聲明為一個(gè)常量,并可以直接賦值。stringa="haier"+"soft";字符串可以使用“+”號(hào)連接字符串使用SubString()方法可以在字符串中截取所選的部分stringstr="haiersoft";strings1=str.Substring(5);//截取第5位以后的所有字符串。截取的字符串為"soft"strings2=str.Substring(0,5);//截取從第0位置開(kāi)始,長(zhǎng)度為5的字符串。"haier"C#中字符串可以使用“==”或調(diào)用Equals方法進(jìn)行比較if(strSex=="男") //等價(jià)于if(strSex.Equals("男"))-37-String類-1方法名稱作用Compare()比較兩個(gè)指定的字符串,并返回一個(gè)整數(shù),指示二者在排序順序中的相對(duì)位置CompareOrdinal()與Compare一樣,但不考慮文化背景Concat()把多個(gè)字符串實(shí)例合并為一個(gè)實(shí)例CopyTo()把特定數(shù)量的字符從選定的下標(biāo)復(fù)制到數(shù)組的一個(gè)全新實(shí)例中Format()格式化包含各種值的字符串和如何格式化每個(gè)值的說(shuō)明符IndexOf()定位字符串中第一次出現(xiàn)某個(gè)給定子字符串或字符的位置IndexOfAny()定位字符串中第一次出現(xiàn)某個(gè)字符或一組字符的位置Insert()把一個(gè)字符串實(shí)例插入到另一個(gè)字符串實(shí)例的指定索引處Join()合并字符串?dāng)?shù)組,建立一個(gè)新字符串LastIndexOf()與IndexOf一樣,但定位最后一次出現(xiàn)的位置LastIndexOfAny()與IndexOfAny,但定位最后一次出現(xiàn)的位置PadLeft()在字符串的開(kāi)頭,通過(guò)添加指定的重復(fù)字符填充字符串PadRight()在字符串的結(jié)尾,通過(guò)添加指定的重復(fù)字符填充字符串Replace()用另一個(gè)字符或子字符串替換字符串中給定的字符或子字符串Split()在出現(xiàn)給定字符的地方,把字符串拆分為一個(gè)子字符串?dāng)?shù)組Substring()在字符串中獲取給定位置的子字符串ToLower()把字符串轉(zhuǎn)換為小寫(xiě)形式ToUpper()把字符串轉(zhuǎn)換為大寫(xiě)形式Trim()刪除首尾的空白-38-String類-2示例publicstaticvoidMain(string[]args){ stringstr1="Maryhadalittlelamb"; stringstr2="Maryhadalittlelamb"; Console.WriteLine(str1.ToLower()); Console.WriteLine(string.Format("字符串{0}的長(zhǎng)度是{1}",str1,str1.Length)); Console.WriteLine("第4個(gè)單詞是'{0}'",str1.Substring(11,6)); Console.WriteLine("兩個(gè)字符串是否相等?"+(str1==str2.Trim()));}代碼中通過(guò)字符串處理方法,將字符串進(jìn)行不同形式的轉(zhuǎn)化-39-StringBuilder類-1StringBuilder類來(lái)動(dòng)態(tài)創(chuàng)建可變長(zhǎng)字符串,可以避免因CLR中字符串的不可變性而帶來(lái)的問(wèn)題。名稱作用Append()給當(dāng)前字符串連接一個(gè)字符串AppendFormat()連接特定格式的字符串Insert()在當(dāng)前字符串中插入一個(gè)字符串Remove()從當(dāng)前字符串中刪除特定位置的字符串Replace()替換當(dāng)前字符串中的某一部分為新字符串ToString()把當(dāng)前字符串轉(zhuǎn)換為System.String對(duì)象(在System.Object中被重寫(xiě))-40-StringBuilder類-2示例classStringBuilderDemo{ staticvoidMain(string[]args){ constintCYCLE=10000; //Enviroment提供平臺(tái)及環(huán)境的相關(guān)信息,這里用于計(jì)算時(shí)間
longvTickCount=Environment.TickCount; stringstr=null; for(inti=0;i<CYCLE;i++){ str+=i.ToString(); } Console.WriteLine("String:{0}毫秒", Environment.TickCount-vTickCount); vTickCount=Environment.TickCount; //使用StringBulder類型對(duì)象
StringBuildersb=newStringBuilder(); for(inti=0;i<CYCLE;i++){ sb.Append(i); } Console.WriteLine("StringBuilder:{0}毫秒", Environment.TickCount-vTickCount); stringtmpStr1="A"; stringtmpStr2=tmpStr1; Console.WriteLine(tmpStr1); Console.WriteLine(tmpStr2); //注意后面的輸出結(jié)果,tmpStr1的值改變了但并未影響tmpStr2的值
tmpStr1="B"; Console.WriteLine(tmpStr1); Console.WriteLine(tmpStr2); }}-41-格式化將對(duì)象轉(zhuǎn)化為特定格式的字符串通常使用string的Format()靜態(tài)方法實(shí)現(xiàn)調(diào)用Format()方法時(shí)需要指定一個(gè)表示特定格式規(guī)則的格式化字符串。格式化:數(shù)字格式化日期格式化-42-數(shù)字格式化數(shù)字類型的標(biāo)準(zhǔn)格式說(shuō)明符
格式字符描述C或c貨幣格式D或d十進(jìn)制格式,僅用于整型E或e科學(xué)記數(shù)法F或f浮點(diǎn)格式G或g普通格式N或n帶有分隔符的格式P或p百分比R或r循環(huán)數(shù)X或x十六進(jìn)制格式,僅用于整型數(shù)字類型的描述型格式說(shuō)明符格式字符描述00占位符,不足的位置補(bǔ)0#數(shù)字占位符,不足的位置無(wú)內(nèi)容.小數(shù)點(diǎn),組分隔符逗號(hào)%百分比符號(hào)E+0,E-0,e+0,e-0指數(shù)符號(hào)-43-日期格式化-1日期類型的標(biāo)準(zhǔn)格式說(shuō)明符格式字符描述d短日期格式D長(zhǎng)日期格式t短時(shí)間格式T長(zhǎng)時(shí)間格式f長(zhǎng)日期及短時(shí)間F長(zhǎng)日期及長(zhǎng)時(shí)間g短日期及短時(shí)間G短日期及長(zhǎng)時(shí)間M或m月/日格式R或rRFC1123模板s可排序日期/時(shí)間格式u通用日期/時(shí)間短格式U通用日期/時(shí)間長(zhǎng)格式Y(jié)或y年月格式-44-日期格式化-2日期類型的描述型格式說(shuō)明符格式字符描述格式字符描述d以1到31的數(shù)值顯示日期m以0到59的數(shù)字顯示分鐘dd與d說(shuō)明符一樣,但在顯示1到9時(shí)前面會(huì)添加一個(gè)0mm顯示分鐘,必要時(shí)在前面添加0ddd顯示日期的縮寫(xiě)M以1到12的數(shù)字顯示月份dddd顯示日期的完整名稱MM顯示月份,必要時(shí)在前面添加0f以單精度數(shù)字顯示秒MMM顯示月份名稱縮寫(xiě)ff…與f說(shuō)明符一樣,但以多位數(shù)值顯示秒數(shù),由f的數(shù)量指定,最多為7MMMM顯示完整的月份名稱g或gg顯示紀(jì)元,B.C.或A.Ds以0到59顯示秒數(shù)h以1到12的數(shù)字顯示小時(shí),午夜后第一個(gè)小時(shí)顯示為12ss顯示秒數(shù),必要時(shí)在前面添加0hh顯示小時(shí),必要時(shí)會(huì)在前面添加0t顯示A.M.或P.M.標(biāo)識(shí)符的第一個(gè)字符H以0到23的數(shù)字顯示小時(shí)tt顯示A.M.或P.M.標(biāo)識(shí)符,此時(shí)考慮Windows系統(tǒng)的區(qū)域設(shè)置HH顯示小時(shí),必要時(shí)在前面添加0y以一位或兩位數(shù)字顯示年份。如:2009顯示為9,2010年顯示為10yy用兩位數(shù)字顯示年份zz使用兩位數(shù)字顯示時(shí)區(qū)yyyy用四位數(shù)字顯示年份:顯示時(shí)間分隔符z顯示時(shí)區(qū),以當(dāng)?shù)貢r(shí)間與格林威治時(shí)間之差表示/顯示日期分隔符-45-格式化示例classStringFormatDemo{ staticvoidMain(string[]args) { //數(shù)字格式化
Doublenumber=123456.789; //使用標(biāo)準(zhǔn)格式
Console.WriteLine("_________________________\n"); Console.WriteLine(String.Format("{0:C}",number)); Console.WriteLine(String.Format("{0:E}",number)); Console.WriteLine(String.Format("{0:N}",number)); //使用描述符
Console.WriteLine("_________________________\n"); Console.WriteLine(String.Format("{0:#.00}",number)); Console.WriteLine(String.Format("{0:#.0000}",number)); Console.WriteLine(String.Format("{0:00000000.0000}",number)); //日期格式化
DateTimedateTime=DateTime.Now; //使用標(biāo)準(zhǔn)格式
Console.WriteLine("_________________________\n"); Console.WriteLine(String.Format("{0:D}",dateTime)); Console.WriteLine(String.Format("{0:T}",dateTime)); Console.WriteLine(String.Format("{0:F}",dateTime)); //使用描述符
Console.WriteLine("_________________________\n"); Console.WriteLine(String.Format("{0:yyyy-MM-ddHH:mm:ss:fff}", dateTime)); Console.WriteLine(String.Format("{0:t
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年南昌市勞動(dòng)保障事務(wù)代理中心招聘勞務(wù)派遣人員備考題庫(kù)參考答案詳解
- 2025年開(kāi)封市龍亭區(qū)柳園口鄉(xiāng)衛(wèi)生院需求招聘?jìng)淇碱}庫(kù)及答案詳解1套
- 2025年浙江玉環(huán)永興村鎮(zhèn)銀行招聘?jìng)淇碱}庫(kù)及一套答案詳解
- 2025年12月廣東深圳市龍華區(qū)面向市內(nèi)選調(diào)公務(wù)員7人筆試重點(diǎn)題庫(kù)及答案解析
- 2025年貴州黎平肇興文化旅游開(kāi)發(fā)(集團(tuán))有限公公開(kāi)招聘工作人員18人實(shí)施備考題庫(kù)及參考答案詳解
- 西昌市教育系統(tǒng)2025年下半年考核引進(jìn)教師(98人)考試核心題庫(kù)及答案解析
- 數(shù)字化評(píng)價(jià)在學(xué)生學(xué)習(xí)動(dòng)力激發(fā)中的應(yīng)用效果評(píng)估教學(xué)研究課題報(bào)告
- 2025年嘉興市秀洲區(qū)人民醫(yī)院公開(kāi)招聘10名編外合同制護(hù)理人員備考題庫(kù)及一套答案詳解
- 2025年國(guó)企招497人備考題庫(kù)及完整答案詳解1套
- 武漢市光谷星辰幼兒園2026年春季招聘工作人員的備考題庫(kù)帶答案詳解
- 單位職工健康體檢總結(jié)報(bào)告
- 有序則安之現(xiàn)場(chǎng)定置管理技術(shù)
- V型濾池設(shè)計(jì)計(jì)算書(shū)2021
- 醫(yī)院護(hù)理培訓(xùn)課件:《老年患者靜脈輸液的治療與護(hù)理》
- 安全用電防止觸電主題教育PPT模板
- LY/T 1690-2017低效林改造技術(shù)規(guī)程
- 通信工程設(shè)計(jì)基礎(chǔ)doc資料
- 教師幽默朗誦節(jié)目《我愛(ài)上班》
- 流體機(jī)械原理:05第四章 泵的汽蝕
- (新版)無(wú)人機(jī)駕駛員資格理論考試題庫(kù)及答案
- 11級(jí)青年志愿者協(xié)會(huì)換屆章程
評(píng)論
0/150
提交評(píng)論