




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
【傳智播客Net培訓(xùn)】視頻課件:C#編程基礎(chǔ).txt什么叫神話?請(qǐng)聽男人向你表達(dá)愛意;什么叫傳說?請(qǐng)聽男人對(duì)你的承諾;什么叫夢境?請(qǐng)看你自己聽到前兩者時(shí)的反應(yīng)。本文由dotnetlover貢獻(xiàn)pdf文檔可能在WAP端瀏覽體驗(yàn)不佳。建議您優(yōu)先選擇TXT,或下載源文件到本機(jī)查看。—高級(jí)軟件人才實(shí)作培訓(xùn)專家傳智播客.Net培訓(xùn)實(shí)訓(xùn)視頻下載llll傳智播客發(fā)布了2010年最新的.Net課堂視頻教程,內(nèi)容涉及C#、HTML、JavaScript、JQuery、ASP.Net等內(nèi)容,覆蓋了從C#初學(xué)到ASP.Net深層應(yīng)用的各階段知識(shí),內(nèi)容列表如下:第1季C#編程基礎(chǔ);第2季C#面向?qū)ο蠡A(chǔ);3季W(wǎng)inForm基礎(chǔ);第4季SQL從入門到提高;第5季ADO.Net;第6季HTML;第7季JavaScript;第8季Dom;第9季JQuery;第10季基礎(chǔ);第11季中級(jí);第12季高級(jí);第13季ajax。傳智播客.Net培訓(xùn)視頻教程免費(fèi)下載地址:/ViewArticle-181.aspx傳智播客.Net培訓(xùn)(),學(xué)費(fèi)只要5800元PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建—高級(jí)軟件人才實(shí)作培訓(xùn)專家C#編程基礎(chǔ)講師:楊中科北京傳智播客教育PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建?—高級(jí)軟件人才實(shí)作培訓(xùn)專家.Net開發(fā)環(huán)境(*了解)開發(fā)工具:VisualStudioC#VB.NetF#IronPython……CSharp.NetFramework使用.Net開發(fā)的程序必須運(yùn)行在安裝了.Net的機(jī)器上。.Net的各個(gè)版本;.Net向下兼容的實(shí)現(xiàn)。PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建ì—高級(jí)軟件人才實(shí)作培訓(xùn)專家第一個(gè)C#程序llll創(chuàng)建第一個(gè)控制臺(tái)程序并且調(diào)試運(yùn)行。為什么要從控制臺(tái)程序開始?不要把精力放到表現(xiàn)層,而是把精力放到寫代碼上。無論控制臺(tái)還是Winform還是ASP.Net最難的是寫代碼,而不是拖控件。唯一需要學(xué)的三條控制臺(tái)指令:Console.WriteLine:打印輸出、Console.ReadLine:從控制臺(tái)讀入一行、Console.ReadKey:控制臺(tái)暫停。至于Console.是什么意思不用管。1+1=2的例子占位符是個(gè)什么玩意兒?{0}的個(gè)數(shù)必須和參數(shù)的個(gè)數(shù)一樣,是一一對(duì)應(yīng)的關(guān)系。PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建—高級(jí)軟件人才實(shí)作培訓(xùn)專家VS開發(fā)環(huán)境介紹llllll解決方案管理器:解決方案、工程、文件C#源文件一般以cs結(jié)尾C#程序的入口是Main函數(shù),在Main中寫代碼就行,暫時(shí)不用關(guān)心其他部分是什么意思錯(cuò)誤列表。見到編譯錯(cuò)誤不用慌。錯(cuò)誤排除演示。常見錯(cuò)誤:結(jié)尾沒有分號(hào),大小寫錯(cuò)誤。顯示代碼行號(hào)。工具→選項(xiàng)→文本編輯器→C#→顯示→行號(hào)設(shè)置啟動(dòng)項(xiàng)目,將當(dāng)前項(xiàng)目自動(dòng)設(shè)置為啟動(dòng)項(xiàng)目。PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建—高級(jí)軟件人才實(shí)作培訓(xùn)專家C#語法lllll從上到下一條條的依次執(zhí)行。過去的就讓他過去吧。大小寫敏感函數(shù)參數(shù)用()包圍。錯(cuò)誤:strings2=Console.ReadLine;Console.WriteLine=3,區(qū)分方法和屬性,看圖標(biāo)顏色。兩句代碼之間用分號(hào)(;)分割(易錯(cuò):全角問題)注釋:單行注釋、多行注釋。批量注釋、反注釋。用VisualStudio的批量反注釋:快捷鍵、工具欄圖標(biāo)兩種方式。PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建—高級(jí)軟件人才實(shí)作培訓(xùn)專家變量llllll把變量看成放數(shù)據(jù)的容器。定義變量的方式:類型變量名;inti3;變量只是容器,必須放進(jìn)去值才有意義,否則就是一個(gè)“杯具”。strings1=null和strings1不一樣。變量的類型:不同類型的容器放不同的東西。不能在int類型的變量中放字符串。變量不能放和變量類型不兼容的數(shù)據(jù)。變量的名字不能重名(不嚴(yán)格)?//inti3=33;//定義一個(gè)變量i3,賦值為33i3=33;//為已有變量i3賦值為33l問題?inti=10;Console.WriteLine("i");Console.WriteLine(i);PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建—高級(jí)軟件人才實(shí)作培訓(xùn)專家常用基本數(shù)據(jù)類型lllllllllllstring、int、char、bool等。bool的取值:true、false。為什么輸出"要用轉(zhuǎn)義符"\"",因?yàn)榫幾g器默認(rèn)是遇到"開始字符串,再遇到"是結(jié)束字符串,但是如果遇到前面有\(zhòng)的"就不把它當(dāng)成有字符串起始意義的"。為什么要有轉(zhuǎn)義符,就是要在程序中輸出回車等特殊的字符,不能直接在字符串中打回車,所以必須轉(zhuǎn)移。"\n"回車。string:"\"ab\""、"ab\nb"、"c:\\a.txt"、@"c:\a.txt"(推薦)。@表示字符串中的\不當(dāng)成轉(zhuǎn)義符。@還可以定義多行文本。"\\\\"一命償一命"\""中\(zhòng)是告訴編譯器不要把這個(gè)"當(dāng)成字符串的結(jié)束。@是不把\當(dāng)成轉(zhuǎn)義符。@不是萬能的,不能解決字符串中有雙引號(hào)的問題,如果有雙引號(hào)還是用轉(zhuǎn)義符‘a(chǎn)’是char,"a"是stringstrings=Console.ReadLine();難點(diǎn):問題:?Stringstr=Console.ReadLine();?Console.WriteLine(str);?用戶輸入a\nb,輸出什么?轉(zhuǎn)義符只針對(duì)在代碼中直接寫出的字符串,對(duì)于程序中讀取出來沒有這個(gè)問題。\n是給編譯器看的。簡單的類型轉(zhuǎn)換:Convert.ToString()、ToString()、Convert.ToInt32()。即可用中間變量,也可以不用。inti=Convert.ToInt32(Console.ReadLine());PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建—高級(jí)軟件人才實(shí)作培訓(xùn)專家變量的命名lllll命名規(guī)則:第一個(gè)字符必須是字母或者下劃線(_),其后的字符可以是任意個(gè)數(shù)字、字母、下劃線。不能全部使用C#的關(guān)鍵字,比如class、namespace、new、void等。判斷方式:VS中亮藍(lán)色的就是關(guān)鍵字。這也是類、函數(shù)等的命名規(guī)則。還可以使用中文變量名(類名、函數(shù)名),不推薦。C#中建議變量的開頭用小寫。專業(yè)的程序員一定要注意大小寫的問題!下列哪個(gè)是正確的變量名?_a、a、a1、a_a、1_a、a1、1a、a3_、a$b、int、int1、ab、A1、INT。變量的聲明:inti;intx,y;inti=3;PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建—高級(jí)軟件人才實(shí)作培訓(xùn)專家傳智播客.Net培訓(xùn)實(shí)訓(xùn)視頻下載ll傳智播客發(fā)布了2010年最新的.Net課堂視頻教程,內(nèi)容涉及C#、HTML、JavaScript、JQuery、ASP.Net等內(nèi)容,覆蓋了從C#初學(xué)到ASP.Net深層應(yīng)用的各階段知識(shí),內(nèi)容列表如下:第1季C#編程基礎(chǔ);第2季C#面向?qū)ο蠡A(chǔ);3季W(wǎng)inForm基礎(chǔ);第4季SQL從入門到提高;第5季ADO.Net;第6季HTML;第7季JavaScript;第8季Dom;第9季JQuery;第10季基礎(chǔ);第11季中級(jí);第12季高級(jí);第13季ajax。ll傳智播客.Net培訓(xùn)視頻教程免費(fèi)下載地址:/ViewArticle181.aspx傳智播客.Net培訓(xùn)(),學(xué)費(fèi)只要5800元PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建—高級(jí)軟件人才實(shí)作培訓(xùn)專家運(yùn)算符、表達(dá)式llllll+、-、*(乘)、/(除)、%(求余)+可以用作字符串連接,其他不可以。++(自增)、--(自減)(*)運(yùn)算符優(yōu)先級(jí):i1+i2*i3、(i1+i2)*i3。不要變態(tài),括號(hào)是王道。變量可以和字面量混合運(yùn)算。練習(xí):讓用戶輸入兩個(gè)數(shù),打印出兩個(gè)數(shù)的和。PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建—高級(jí)軟件人才實(shí)作培訓(xùn)專家賦值lllllll賦值運(yùn)算符=,讓左邊變量的值等于右邊的計(jì)算結(jié)果。這就能解釋令人不解的i=i+1;(*)+=、-=、*=、/=。i2=i1++;i2=++i1;(了解)。--同理。習(xí)題:inta=10;a++;a=a+a;Console.WriteLine("{0}",a);執(zhí)行結(jié)果是什么?inti=10;intj=i;i=5;j=?intx=10;x+y=80;Console.WriteLine(y);x+y=80;//左邊的必須是變量!!!不能是常量,不能是表達(dá)式習(xí)題(重點(diǎn),難點(diǎn)):交換兩個(gè)變量的值。易錯(cuò)!!!PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建—高級(jí)軟件人才實(shí)作培訓(xùn)專家布爾運(yùn)算lllll相等判斷:==,不要和=混淆。WriteLine("{0}",i==1);WriteLine("{0}",i=1);的區(qū)別。Console.WriteLine("{0}",i=1);//C#中賦值表達(dá)式也有值,它的值表示為賦值后變量的值不等判斷:!=大小比較:<、>、<=、>=取反:!組合運(yùn)算:&&(并且)、||(或者)。&&并且:只有兩邊都為true的時(shí)候,表達(dá)式的值才為true,否則是false;||或者:兩邊只要有一個(gè)為true的時(shí)候,表達(dá)式的值就是true,否則是false;PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建—高級(jí)軟件人才實(shí)作培訓(xùn)專家ifif(i>1){}if(i>1){}else{}單句的時(shí)候大括號(hào)可以省略,但是不建議省略,演示說明whyif(i>100||i<10){}if(i>100&&j>10){}if(i>100){}elseif(i<10){}else{}if語句的嵌套if((i>0&&j>0)||(i<0&&j<0)){}易錯(cuò)代碼:if(i>10);{Console.WriteLine("是");}PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建—高級(jí)軟件人才實(shí)作培訓(xùn)專家課上練習(xí)lllllll學(xué)編程不是看書,不是聽老師講,而是自己動(dòng)手寫。作業(yè)1:提示用戶輸入密碼,如果密碼是“888888”則提示正確,否則提示錯(cuò)誤。作業(yè)2:提示用戶輸入密碼,如果密碼是“888888”則提示正確,否則要求再輸入一次,如果密碼是“888888”則提示正確,否則提示錯(cuò)誤。作業(yè)3:提示用戶輸入用戶名,然后再提示輸入密碼,如果用戶名是“admin”并且密碼是“888888”,則提示正確,否則提示錯(cuò)誤,如果用戶名不是admin還提示用戶用戶名不存在。作業(yè)4:提示用戶輸入年齡,如果大于等于18,則告知用戶可以查看,如果小于10歲,則告知不允許查看,如果大于等于10歲,則提示用戶是否繼續(xù)查看(yes、no),如果輸入的是yes則提示用戶可以查看,否則提示不可以查看。(給出測試用例。)作業(yè)5:依次提示用戶輸入兩個(gè)整數(shù)(假設(shè)i1、i2)。如果i1、i2都是正數(shù),則將i1的值遞增一個(gè)數(shù),然后打印i1+i2的值;如果i1、i2都是負(fù)數(shù),則將i1的值遞減10個(gè)數(shù),然后打印i1*i2的值;如果i1、i2中任一個(gè)為0,則提示數(shù)據(jù)有錯(cuò)誤;否則計(jì)算i1*i2的絕對(duì)值。注意:變量命名要用有意義的變量名,不要x、y、z。PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建—高級(jí)軟件人才實(shí)作培訓(xùn)專家switchcase被判定的值進(jìn)入滿足條件的分支執(zhí)行switch(i)case1://break;case2://break;lllswitch(i)case1://break;case2://break;default:break;switch(i)case1:case2://break;case中的值必須是常量,不能是變量、表達(dá)式。switch(i)casea://break;類似于if……else……elseif……else,但是是離散值的判斷。switch一般都可以用if重寫,但是if不一定能用switch重寫不要忘了break。C#中的break不寫是不行的,除了合并case的情況PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建—高級(jí)軟件人才實(shí)作培訓(xùn)專家while循環(huán)while(i<100){//打印ii++;}只要while后小括號(hào)中的表達(dá)式為true,就不斷執(zhí)行大括號(hào)中的代碼while(不是終點(diǎn)){跑}練習(xí)1:用while計(jì)算1到100之間整數(shù)的和;(有更好的數(shù)學(xué)解法)練習(xí)2:要求用戶輸入用戶名和密碼,只要不是admin、888888就一直提示要求重新輸入。練習(xí)3:不斷要求用戶輸入一個(gè)數(shù)字,然后打印這個(gè)數(shù)字的二倍,當(dāng)用戶輸入q的時(shí)候程序退出(return)。練習(xí)4:不斷要求用戶輸入一個(gè)數(shù)字(假定用戶輸入的都是正整數(shù)),當(dāng)用戶輸入end的時(shí)候顯示剛才輸入的數(shù)字中的最大值。設(shè)一個(gè)變量intmax,初始值為0,用戶每輸入一次就把用戶輸入的和max比較一下,如果輸入的比max大,則讓max等于用戶輸入。do{//打印ii++;}while(i<100)先做……如果滿足則再來一次,直至while表達(dá)式為false。至少被執(zhí)行一次。(*)易錯(cuò)while(i<0);{PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建—高級(jí)軟件人才實(shí)作培訓(xùn)專家循環(huán)的中斷l(xiāng)llllbreak:立即終止整個(gè)循環(huán)。continue:立即終止當(dāng)前循環(huán)步驟,進(jìn)行下一次循環(huán)步驟。練習(xí)1:用whilecontinue實(shí)現(xiàn)計(jì)算1到100之間的除了能被7整除之外所有整數(shù)的和。練習(xí)2:用whilebreak實(shí)現(xiàn)要求用戶輸入用戶名和密碼,只要不是admin、888888就一直提示要求重新輸入。練習(xí)3:編寫聊天機(jī)器人,如果問“今天天氣怎么樣?”則回答天氣,如果問……,如果說“88”,則“再見”。PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建—高級(jí)軟件人才實(shí)作培訓(xùn)專家for循環(huán)llllfor(code1;code2;code3)。code1:循環(huán)的初始化代碼,只在循環(huán)開始之前運(yùn)行一次;code2,bool類型的表達(dá)式,每次循環(huán)完成前都判斷一下是否為true,只有為true才會(huì)進(jìn)行本次循環(huán);code3在每次循環(huán)之后執(zhí)行一次。for的三段都可以省略,但是不能丟了“;”。break、continue同樣可以應(yīng)用于for。for和while代碼之間都可以互相轉(zhuǎn)換,究竟用哪種方式則取決于一些慣用用法和個(gè)人習(xí)慣,不用記,代碼寫多了自然就有感覺for(inti=0;i<10;i++){}for中終止條件注意是<還是<=for(inti=100;i>0;i--){}用for實(shí)現(xiàn)計(jì)算1到100之間所有整數(shù)的和。用for實(shí)現(xiàn)計(jì)算200到300之間所有整數(shù)的和。PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建—高級(jí)軟件人才實(shí)作培訓(xùn)專家傳智播客.Net培訓(xùn)實(shí)訓(xùn)視頻下載ll傳智播客發(fā)布了2010年最新的.Net課堂視頻教程,內(nèi)容涉及C#、HTML、JavaScript、JQuery、ASP.Net等內(nèi)容,覆蓋了從C#初學(xué)到ASP.Net深層應(yīng)用的各階段知識(shí),內(nèi)容列表如下:第1季C#編程基礎(chǔ);第2季C#面向?qū)ο蠡A(chǔ);3季W(wǎng)inForm基礎(chǔ);第4季SQL從入門到提高;第5季ADO.Net;第6季HTML;第7季JavaScript;第8季Dom;第9季JQuery;第10季基礎(chǔ);第11季中級(jí);第12季高級(jí);第13季ajax。ll傳智播客.Net培訓(xùn)視頻教程免費(fèi)下載地址:/ViewArticle181.aspx傳智播客.Net培訓(xùn)(),學(xué)費(fèi)只要5800元PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建—高級(jí)軟件人才實(shí)作培訓(xùn)專家練習(xí)lc#時(shí)間格式轉(zhuǎn)換漢字大寫比如:2009年9月5日轉(zhuǎn)換成二零零九年九月五日代碼見備注lPDF文件使用"pdfFactoryPro"試用版本創(chuàng)建—高級(jí)軟件人才實(shí)作培訓(xùn)專家類型轉(zhuǎn)換Cast(*)lllllll把源類型賦值給目標(biāo)類型,兩個(gè)類型不一致的時(shí)候會(huì)發(fā)生類型轉(zhuǎn)換。a=b,b是源,a是目標(biāo)隱式轉(zhuǎn)換、顯式轉(zhuǎn)換。當(dāng)目標(biāo)類型一定能滿足源類型轉(zhuǎn)換過去后的要求的話就是隱式轉(zhuǎn)換;如果當(dāng)目標(biāo)類型不一定能滿足源類型轉(zhuǎn)換過去后的要求的話就需要顯式轉(zhuǎn)換(程序員自己負(fù)責(zé))。把中國人轉(zhuǎn)換為人是隱式轉(zhuǎn)換,把人轉(zhuǎn)換為中國人則是顯式轉(zhuǎn)換(強(qiáng)制轉(zhuǎn)換)內(nèi)存中的數(shù)據(jù)沒有變化,只是不同的視角而已。byteb=1;inti=1;i=b;b=(byte)i;為什么要顯式轉(zhuǎn)換?編譯器不能保證一定正確,轉(zhuǎn)換結(jié)果自己負(fù)責(zé)。要人給一個(gè)中國人當(dāng)前沒問題,但是要中國人給一個(gè)人則可能有問題,編譯器不承擔(dān)這個(gè)責(zé)任,由開發(fā)人員來保證。只有在內(nèi)存存儲(chǔ)上存在交集的類型之間才能進(jìn)行Cast,否則則不可以,比如不可以inti;strings=(string)i;反之也不可以。這種情況必須用Convert類提供的方法。PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建—高級(jí)軟件人才實(shí)作培訓(xùn)專家類型轉(zhuǎn)換ConvertllConvert不再是內(nèi)存級(jí)別的轉(zhuǎn)換,而是考慮數(shù)據(jù)意義的轉(zhuǎn)換。可以把姓名Convert成人。Convert是一個(gè)加工、改造的過程Convert.ToInt32、Convert.ToString、每種類型都還有ToString方法(類型的ToString和Convert.ToString略微的差別暫時(shí)不用關(guān)心)PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建—高級(jí)軟件人才實(shí)作培訓(xùn)專家枚舉確定數(shù)量、確定值的幾個(gè)取值:東西南北、男女、上中下。enumGender{male,female}enumQQStatus{online,offline,hidden}枚舉的用法,QQStatusstatus=QQStatus.online;和用字符串比起來,用枚舉的好處就是限定了變量的取值范圍,程序處理起來更方便。PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建—高級(jí)軟件人才實(shí)作培訓(xùn)專家數(shù)組l保存多個(gè)值。幾乎任意類型都可以聲明數(shù)組。int[]nums=newint[3]int[]nums={5,3,8}int[]nums=newint[3]{5,3,8}//個(gè)數(shù)和聲明數(shù)必須一致int[]nums=newint[5]{5,3,8}//錯(cuò)誤使用索引器訪問指定編號(hào)位置的元素,訪問數(shù)組元素:nums[0]、nums[1]。索引從0開始。取到的元素的類型就是數(shù)組元素的類型。還可以對(duì)數(shù)組元素進(jìn)行賦值練習(xí)1:從一個(gè)整數(shù)數(shù)組中取出最大的整數(shù)練習(xí)2:計(jì)算一個(gè)整數(shù)數(shù)組的所有元素的和。練習(xí)3:將一個(gè)字符串?dāng)?shù)組輸出為|分割的形式,比如“梅西|卡卡|鄭大世”練習(xí)4:將一個(gè)整數(shù)數(shù)組的每一個(gè)元素進(jìn)行如下的處理:如果元素是正數(shù)則將這個(gè)位置的元素的值加1,如果元素是負(fù)數(shù)則將這個(gè)位置的元素的值減1。練習(xí)5:有一個(gè)整數(shù)數(shù)組,請(qǐng)聲明一個(gè)字符串?dāng)?shù)組,將整數(shù)數(shù)組中的每一個(gè)元素的值轉(zhuǎn)換為字符串保存到字符串?dāng)?shù)組中。string[]strs=newstring[values.Length];練習(xí)6:將一個(gè)字符串?dāng)?shù)組的元素的順序進(jìn)行反轉(zhuǎn)。{"3","a","8","haha"}{"haha","8","a","3"}。第i個(gè)和第length-i-1個(gè)進(jìn)行交換。PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建—高級(jí)軟件人才實(shí)作培訓(xùn)專家數(shù)組2foreach循環(huán)string[]names={"tom","jerry","lily"};foreach(stringnameinnames){Console.WriteLine("我的名字{0}",name);}和for的區(qū)別:for可以不逐個(gè)遍歷,比如每隔一個(gè)遍歷一個(gè),或者可以從后向前遍歷PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建—高級(jí)軟件人才實(shí)作培訓(xùn)專家函數(shù)lll函數(shù)就是將一堆代碼進(jìn)行重用的一種機(jī)制。函數(shù)就是一段代碼,這段代碼可能有輸入的值(參數(shù)),可能會(huì)返回值。一個(gè)函數(shù)就像一個(gè)專門做這件事的人,我們調(diào)用它來做一些事情,它可能需要我們提供一些數(shù)據(jù)給它,它執(zhí)行完成后可能會(huì)有一些執(zhí)行結(jié)果給我們。要求的數(shù)據(jù)就叫參數(shù),返回的執(zhí)行結(jié)果就是返回值。Console.ReadLine就是一個(gè)有返回結(jié)果的函數(shù);Console.WriteLine("hello")就是一個(gè)有執(zhí)行參數(shù)的函數(shù),只有告訴WriteLine被打印的數(shù)據(jù)它才知道如何打印;inti=Convert.ToInt32("22")則是一個(gè)既有參數(shù)又有返回值的函數(shù)。有了函數(shù)寫代碼就像拼積木,C#中的各種各樣的技術(shù)其實(shí)就是通過for、if等這些基礎(chǔ)的語法將不同的函數(shù)按照一定的邏輯組織起來。PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建—高級(jí)軟件人才實(shí)作培訓(xùn)專家自己寫函數(shù)1讀取輸入的整數(shù),定義成函數(shù),多次調(diào)用staticintReadInt(){Strings=Console.ReadLine();returnConvert.ToInt32(s);}寫程序測試,程序調(diào)用到函數(shù)的時(shí)候是進(jìn)入函數(shù)內(nèi)部執(zhí)行的,執(zhí)行完畢再繼續(xù)向下執(zhí)行。2、函數(shù)如果沒有返回值則標(biāo)記返回值類型為void3、return語句導(dǎo)致函數(shù)立即返回。在返回值為void的函數(shù)中return,在返回值非void的函數(shù)中return數(shù)值PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建—高級(jí)軟件人才實(shí)作培訓(xùn)專家函數(shù)返回值易錯(cuò)點(diǎn)一個(gè)函數(shù)如果“答應(yīng)”返回一個(gè)非void類型的值,則函數(shù)的所有路徑都要有返回值。比如將對(duì)輸入年齡轉(zhuǎn)換為年齡段描述的函數(shù)。PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建—高級(jí)軟件人才實(shí)作培訓(xùn)專家函數(shù)參數(shù)llll函數(shù)、方法:都指的一個(gè)東西。計(jì)算兩個(gè)整數(shù)中的最大值:intMax(inti1,inti2)計(jì)算輸入數(shù)組的和:intSum(int[]values)確定函數(shù)參數(shù)的原則:自己能確定的數(shù)據(jù)自己內(nèi)部解決,自己確定不了的數(shù)據(jù)通過參數(shù)傳遞。練習(xí):string[]strs={"aa","333","ccc"};返回給我一個(gè)字符串,然后字符串使用我指定的分隔符來進(jìn)行分割,比如我指定用"|"分割,那么返回給我"aa|333|ccc"。stringJoin(string[]strs,stringseperator)問題:函數(shù)名開頭大寫,參數(shù)名開頭小寫,參數(shù)名、變量名要有意義llllPDF文件使用"pdfFactoryPro"試用版本創(chuàng)建—高級(jí)軟件人才實(shí)作培訓(xùn)專家函數(shù)重載(函數(shù)重名)函數(shù)的重名:錯(cuò)誤staticvoidSayHello(stringname){Console.WriteLine("我是{0}",name);}staticvoidSayHello(stringname){Console.WriteLine("Iam{0}",name);}staticvoidSayHello(stringname)錯(cuò)誤{Console.WriteLine("我是{0}",name);}staticintSayHello(stringname){return10;}staticvoidSayHello(stringname){Console.WriteLine("我是{0}",name);}staticvoidSayHello(intage){Console.WriteLine("我的年齡{0}",age);}staticvoidSayHello(stringname){Console.WriteLine("我是{0}",name);}staticvoidSayHello(stringname,stringnickname){Console.WriteLine("我是{0},昵稱是{1}",name,nickname);}構(gòu)成重載的條件:參數(shù)類型不同或者參數(shù)個(gè)數(shù)不同(不嚴(yán)謹(jǐn)?shù)模c返回值無關(guān)。PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建—高級(jí)軟件人才實(shí)作培訓(xùn)專家傳智播客.Net培訓(xùn)實(shí)訓(xùn)視頻下載ll傳智播客發(fā)布了2010年最新的.Net課堂視頻教程,內(nèi)容涉及C#、HTML、JavaScript、JQuery、ASP.Net等內(nèi)容,覆蓋了從C#初學(xué)到ASP.Net深層應(yīng)用的各階段知識(shí),內(nèi)容列表如下:第1季C#編程基礎(chǔ);第2季C#面向?qū)ο蠡A(chǔ);3季W(wǎng)inForm基礎(chǔ);第4季SQL從入門到提高;第5季ADO.Net;第6季HTML;第7季JavaScript;第8季Dom;第9季JQuery;第10季基礎(chǔ);第11季中級(jí);第12季高級(jí);第13季ajax。ll傳智播客.Net培訓(xùn)視頻教程免費(fèi)下載地址:/ViewArticle181.aspx傳智播客.Net培訓(xùn)(),學(xué)費(fèi)只要5800元PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建—高級(jí)軟件人才實(shí)作培訓(xùn)專家可變參數(shù)參數(shù)數(shù)組:intsum(paramsint[]values)intsum(stringname,paramsint[]values)l可變參數(shù)數(shù)組必須是最后一個(gè)l參數(shù)默認(rèn)值(.Net4.0):voidSayHello(stringname,intage=20)(*了解)。在舊版本中可以用重載來實(shí)現(xiàn)。PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建—高級(jí)軟件人才實(shí)作培訓(xùn)專家字符串的處理llllllC#中單個(gè)字符用單引號(hào)包含就是char類型,('a'),單引號(hào)中放且只能放一個(gè)字符。單個(gè)字符也可以表示為字符串,還可以有長度為0的字符串。null和""的區(qū)別,String.IsNullOrEmpty使用s.Length屬性來獲得字符串中的字符個(gè)數(shù)string可以看做是char的只讀數(shù)組。charc=s[1];。例子:遍歷輸出string中的每個(gè)元素。C#中字符串有一個(gè)重要的特性:不可變性,字符串一旦聲明就不再可以改變。所以只能通過索引來讀取指定位置的char,不能對(duì)指定位置的char進(jìn)行修改。如果要對(duì)char進(jìn)行修改,那么就必須創(chuàng)建一個(gè)新的字符串,用s.ToCharArray()方法得到字符串的char數(shù)組,對(duì)數(shù)組進(jìn)行修改后,調(diào)用newstring(char[])這個(gè)構(gòu)造函數(shù)(暫時(shí)不用細(xì)研究)來創(chuàng)建char數(shù)組的字符串。一旦字符串被創(chuàng)建,那么char數(shù)組的修改也不會(huì)造成字符串的變化。例子:將字符串中的A替換為a。PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建—高級(jí)軟件人才實(shí)作培訓(xùn)專家PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建—高級(jí)軟件人才實(shí)作培訓(xùn)專家常見疑問lll誰說字符串不可變?strings="abc";s="123",s這不是變了嗎要區(qū)分變量名和變量指向的值的區(qū)別。程序中可以有很多字符串,然后由字符串變量指向他們,變量可以指向其他的字符串,但是字符串本身沒有變化。字符串不可變性指的是內(nèi)存中的字符串不可變,而不是變量不變。strings10=s1;//s10指向s1指向的字符串,而不是s10指向s1,哪怕s1以后指向了其他內(nèi)存,那么s10還是指向"hello"s1s1abcadmin888888PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建—高級(jí)軟件人才實(shí)作培訓(xùn)專家String類常用函數(shù)llllToLower():得到字符串的小寫形式。注意字符串是不可變的,所以這些函數(shù)都不會(huì)直接改變字符串的內(nèi)容,而是把修改后的字符串的值通過函數(shù)返回值的形式返回。s.ToLower()與s=s.ToLower()ToUpper():得到字符串的大寫形式;Trim()去掉字符串兩端的空白(不會(huì)去掉中間的)。s1.Equals(s2,StringComparison.OrdinalIgnoreCase),兩個(gè)字符串進(jìn)行比區(qū)分大小寫的比較。推薦這種用法。PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建—高級(jí)軟件人才實(shí)作培訓(xùn)專家llstrings2=string.Format("{0}年{1}月{2}日",year,month,day);strings1=string.Join("|",values);//第一個(gè)參數(shù)是string類型分隔符PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建—高級(jí)軟件人才實(shí)作培訓(xùn)專家llll變量的作用域,什么地方聲明變量//intmaxScore=-1;//因?yàn)樾枰诟鞔窝h(huán)之間使用maxScore,所以需要把maxScore聲明到這里////變量名規(guī)范:第一個(gè)字符小寫,其后的每個(gè)單詞的第一個(gè)字母大寫。//stringmaxName="";//string[]lines=System.IO.File.ReadAllLines(@"c:\1.txt",Encoding.Default);//for(inti=0;i<lines.Length;i++)//遍歷文件內(nèi)容數(shù)組//{//stringline=lines[i];//每次遍歷lines得到的line就是當(dāng)前行////變量作用域在{}里面,變量盡可能的在需要他的范圍之內(nèi)才定義//string[]strs=line.Split('|');//stringname=strs[0];//intscore=Convert.ToInt32(strs[1]);//if(score>maxScore)//{//maxScore=score;//maxName=name;//}//}llllllllllllllPDF文件使用"pdfFactoryPro"試用版本創(chuàng)建—高級(jí)軟件人才實(shí)作培訓(xùn)專家lllllllllPDF文件使用"pdfFactoryPro"試用版本創(chuàng)建inti;if(a>0){i=10;}else{i=20;}—高級(jí)軟件人才實(shí)作培訓(xùn)專家變量作用域staticvoidMain(string[]args){stringname="tom";SayHello();}staticvoidSayHello(){Console.WriteLine("我的姓名是:{0}",name);}staticvoidMain(string[]args){stringname="tom";SayHello();}staticvoidSayHello(){stringname="jerry";Console.WriteLine("我的姓名是:{0}",name);}變量名:變量名就像試驗(yàn)實(shí)例容器的編號(hào),在一個(gè)實(shí)驗(yàn)室中,編號(hào)不能重復(fù)。如果去了更高一級(jí)的實(shí)驗(yàn)室,就不能和下屬的實(shí)驗(yàn)室的容易編號(hào)重復(fù)。只要不出實(shí)驗(yàn)室,不同實(shí)驗(yàn)室之間的容器編號(hào)可以重復(fù)。PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建—高級(jí)軟件人才實(shí)作培訓(xùn)專家變量作用域2stringname="tom";if(name=="tom"){stringname="jerry";}inti;for(i=0;i<10;i++){stringname=i.ToString();}Console.WriteLine("{0}",i);inti=3;if(i>3){if(i<100){inti=10;}}for(inti=0;i<10;i++){stringname=i.ToString();}Console.WriteLine("{0}",name);for(inti=0;i<10;i++){stringname=i.ToString();}Console.WriteLine("{0}",i);if(s=="a"){inti=0;}if(s=="b"){inti=0;}staticvoidSayHello(stringname){stringname="lily";Console.WriteLine("我是{0}",name);}在同一個(gè)括號(hào)內(nèi)變量定義不能重名,括號(hào)可以嵌套,但是通過函數(shù)的調(diào)用并不在這個(gè)范圍內(nèi)PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建—高級(jí)軟件人才實(shí)作培訓(xùn)專家字符串的分割lllllstring[]Split(paramschar[]separator):將字符串按照指定的分割符分割為字符串?dāng)?shù)組;string[]Split(char[]separator,StringSplitOptionsoptions)將字符串按照指定的char分割符分割為字符串?dāng)?shù)組(options取RemoveEmptyEntries的時(shí)候移除結(jié)果中的空白字符串);string[]Split(string[]separator,StringSplitOptionsoptions)將字符串按照指定的string分割符分割為字符串?dāng)?shù)組。例子1:從日期字符串("2008-08-08")中分析出年、月、日;2008年08月08日。例子2:從一個(gè)記錄了學(xué)生成績的文本文檔,每個(gè)學(xué)生成績是一行,每行是用|分割的數(shù)據(jù),用|分割的域分別是姓名、年齡、成績,寫程序取出成績最高學(xué)生的姓名和成績。參考:使用string[]lines=System.IO.File.ReadAllLines(@"c:\root.ini",Encoding.Default);從文本文件讀取數(shù)據(jù),返回值為string數(shù)組,每個(gè)元素是一行。(5min)PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建—高級(jí)軟件人才實(shí)作培訓(xùn)專家傳智播客.Net培訓(xùn)實(shí)訓(xùn)視頻下載ll傳智播客發(fā)布了2010年最新的.Net課堂視頻教程,內(nèi)容涉及C#、HTML、JavaScript、JQuery、ASP.Net等內(nèi)容,覆蓋了從C#初學(xué)到ASP.Net深層應(yīng)用的各階段知識(shí),內(nèi)容列表如下:第1季C#編程基礎(chǔ);第2季C#面向?qū)ο蠡A(chǔ);3季W(wǎng)inForm基礎(chǔ);第4季SQL從入門到提高;第5季ADO.Net;第6季HTML;第7季JavaScript;第8季Dom;第9季JQuery;第10季基礎(chǔ);第11季中級(jí);第12季高級(jí);第13季ajax。ll傳智播客.Net培訓(xùn)視頻教程免費(fèi)下載地址:/ViewArticle181.aspx傳智播客.Net培訓(xùn)(),學(xué)費(fèi)只要5800元PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建—高級(jí)軟件人才實(shí)作培訓(xùn)專家字符串函數(shù)詳解lllllll字符串替換:stringReplace(stringoldValue,stringnewValue)將字符串中的出現(xiàn)oldValue的地方替換為newValue。例子:名字替換。取子字符串:stringSubstring(intstartIndex),取從位置startIndex開始一直到最后的子字符串;stringSubstring(intstartIndex,intlength),取從位置startIndex開始長度為length的子字符串,如果子字符串的長度不足length則報(bào)錯(cuò)。案例:截取字符串前5個(gè),strings2=s1.Substring(0,Math.Min(s1.Length,5));//取字符串的長度和5中的最小值來截取。誰小娶誰。boolContains(stringvalue)判斷字符串中是否含有子串valueboolStartsWith(stringvalue)判斷字符串是否以子串value開始;boolEndsWith(stringvalue)判斷字符串是否以子串value結(jié)束;intIndexOf(stringvalue):取子串value第一次出現(xiàn)的位置。PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建—高級(jí)軟件人才實(shí)作培訓(xùn)專家字符串的處理練習(xí)1lllll課上練習(xí)1:接收用戶輸入的字符串,將其中的字符以與輸入相反的順序輸出。"abc"→"cba"課上練習(xí)2:接收用戶輸入的一句英文,將其中的單詞以反序輸出。"hellocsharp"→"sharpchello"課上練習(xí)3:從Email中提取出用戶名和域名:abc@163.com。IndexOf找到@的位置。SubString。課上練習(xí)4:文本文件中存儲(chǔ)了多個(gè)文章標(biāo)題、作者,標(biāo)題和作者之間用若干空格(數(shù)量不定)隔開,每行一個(gè),標(biāo)題有的長有的短,輸出到控制臺(tái)的時(shí)候最多標(biāo)題長度20,如果超過20,則截取長度17的子串并且最后添加“……”,加一個(gè)豎線后輸出作者的名字。練習(xí)5:自己動(dòng)手寫聊天機(jī)器人,能夠回答不同城市的天氣、回答感情問題、問的次數(shù)過多還會(huì)餓死,提問可以模糊提問(包含指定關(guān)鍵詞)。問“天氣:北京”就回復(fù)“北京的天氣是晴”。PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建—高級(jí)軟件人才實(shí)作培訓(xùn)專家字符串的處理練習(xí)2llll練習(xí)6:“[port=8080]”,這個(gè)字符串表示IP地址為的服務(wù)器的8080端口是打開的,請(qǐng)用程序解析此字符串,然后打印出“IP地址為***的服務(wù)器的***端口是打開的”。練習(xí)7:“[port=21,type=ftp]”,這個(gè)字符串表示IP地址為的服務(wù)器的21端口提供的是ftp服務(wù),其中如果“,type=ftp”部分被省略,則默認(rèn)為http服務(wù)。請(qǐng)用程序解析此字符串,然后打印出“IP地址為***的服務(wù)器的***端口提供的服務(wù)為***”練習(xí)8:從文件路徑中提取出文件名(包含后綴)@"^.+/(.+)$"。比如從c:/a/b.txt中提取出b.txt這個(gè)文件名出來。項(xiàng)目中用Path.GetFileName更好。練習(xí)9:統(tǒng)計(jì)學(xué)生成績文件中學(xué)生的總分、平均分、最高分、最低分。PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建—高級(jí)軟件人才實(shí)作培訓(xùn)專家函數(shù)的ref、out參數(shù)(*)函數(shù)參數(shù)默認(rèn)是值傳遞的,也就是“復(fù)制一份”,例子:intage=20;IncAge(age);Console.WriteLine("age={0}",age);ref必須先初始化,因?yàn)槭且茫员仨毾取坝小保拍芤茫鴒ut則是內(nèi)部為外部賦值,所以不需要初始化,而且外部初始化也沒用。ref應(yīng)用場景內(nèi)部對(duì)外部的值進(jìn)行改變,out則是內(nèi)部為外部變量賦值,out一般用在函數(shù)有多個(gè)返回值的場所。案例:兩個(gè)變量的交換;int.TryParse。PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建—高級(jí)軟件人才實(shí)作培訓(xùn)專家面向?qū)ο蟾拍?*)program)不是取代面向過程的。l類、對(duì)象。“人”是類,“張三”是“人”這個(gè)類的對(duì)象。類是抽象的,對(duì)象是具體的。按鈕就是類,某個(gè)按鈕就是對(duì)象。對(duì)象可以叫做類的實(shí)例(Instance)。類就像int,對(duì)象就像10。l字段Field(和某個(gè)對(duì)象相關(guān)的變量),字段就是類的狀態(tài)(不同的對(duì)象可能不一樣的狀態(tài)就是字段)。人這個(gè)類有姓名、年齡、身高等字段。類不占內(nèi)存,對(duì)象才占內(nèi)存。l方法Method(函數(shù)),方法就是類能夠執(zhí)行的動(dòng)作,比如問好、吃飯等。l類的繼承,類之間可以有繼承關(guān)系,比如“電腦”類可以從“電器”類繼承,這樣的好處是“電腦”類只需要定義自己特有的字段、方法就可以,也就是只要定義內(nèi)存大小、CPU型號(hào)這些字段或者彈出光驅(qū)等方法就可以。父類(Parent)、基類(Base,基業(yè),祖宗十八代傳下來的)。電腦類是電器類的子類(ChildClass)。重用。父類有的子類都有。l面向?qū)ο蟮娜齻€(gè)特性:封裝、繼承、多態(tài)。l沒有面向?qū)ο蟮氖澜缰械碾y題。l面向?qū)ο?OOP,Object-OrientedPDF文件使用"pdfFactoryPro"試用版本創(chuàng)建—高級(jí)軟件人才實(shí)作培訓(xùn)專家定義類lclassPerson{}定義字段:classPerson{publicstringName;publicintAge;publicvoidSayHello(){Console.WriteLine("你好,我是{0}",Name);}}初始化對(duì)象,調(diào)用方法:Persontom=newPerson();tom.Name="tom";tom.SayHello();Console.WiteLine("{0}",tome.Name)定義方法(類的函數(shù)):classPerson{publicvoidSayHello(){Console.WriteLine("你好,我是{0}",this.Name);//不寫this.也可以,寫上更清晰}}初始化對(duì)象,調(diào)用方法:Persontom=newPerson();tom.SayHello();兩個(gè)對(duì)象的狀態(tài)各自變化,Personp=Person()是錯(cuò)的,不要忘了new對(duì)象必須調(diào)用構(gòu)造函數(shù)初始化“newPerson()”后才能用,不能Persontom這樣聲明;就調(diào)用。一個(gè)類可有有多個(gè)實(shí)例。類就是把一系列相關(guān)的變量(狀態(tài))、行為定義為一個(gè)整體。字段記錄的就是這個(gè)對(duì)象相關(guān)的數(shù)據(jù)。PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建—高級(jí)軟件人才實(shí)作培訓(xùn)專家易錯(cuò)llclassPerson{privatestringname;?name="yzk";?name=name+"a";l}PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建—高級(jí)軟件人才實(shí)作培訓(xùn)專家成員訪問級(jí)別ll字段、方法、屬性(后面講)都可以叫做類的成員Member,它們都需要定義訪問級(jí)別。訪問級(jí)別的用處在于控制成員在哪些地方可以被訪問,這樣達(dá)到面向?qū)ο笾小胺庋b”的目的。幾個(gè)訪問級(jí)別:public(任何地方都可以訪問);private(默認(rèn)級(jí)別。只能由本類中的成員訪問)。還有internal、protected兩個(gè)級(jí)別,以后會(huì)講。classPerson{privatestringName;publicvoidGiveName(stringname){Name=name;//拒絕不好聽的名字}publicvoidSayHello(){Console.WriteLine("你好,我是{0}",Name);}}Persontom=newPerson();tom.GiveName("tom");//tom.Name="tom";tom.SayHello();永遠(yuǎn)不要把字段publicPDF文件使用"pdfFactoryPro"試用版本創(chuàng)建—高級(jí)軟件人才實(shí)作培訓(xùn)專家對(duì)象的引用(非常重要)llllli1=3;i2=i1;i1++;//i2是3p1=newPerson();p1.i=3;p2=p1;p1.i++;//p2.i是4int、decimal、bool、byte、enum等基礎(chǔ)類型(值類型)是傳遞拷貝;對(duì)象(引用類型)則是傳遞引用。因?yàn)榛A(chǔ)類型不怎么占內(nèi)存,而對(duì)象則比較占內(nèi)存。函數(shù)間傳遞對(duì)象。為對(duì)象變量重新賦值。p2=p1是讓p2指向p1指向的對(duì)象。PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建—高級(jí)軟件人才實(shí)作培訓(xùn)專家易錯(cuò)lllllllllPDF文件使用"pdfFactoryPro"試用版本創(chuàng)建Personp1=newPerson();//不用newif(a>10){p1=newPerson();}else{p1=newPerson();}—高級(jí)軟件人才實(shí)作培訓(xùn)專家屬性慣用法:屬性開頭字母大寫,字段開頭字母小寫classPerson{privateintage;publicintAge{get{returnage;}set{age=value;}}publicvoidSayHello(){Console.WriteLine("我的年齡是{0}",Age);}}l只用set或者只用get就可以定義只讀易錯(cuò):set{Name=value;}難點(diǎn):get中直接return30,Age++PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建或者只寫屬性(只寫的不常見)l可以為set、get設(shè)置訪問級(jí)別l例子,限制非法值的設(shè)置l(.Net3.x)簡化set、get:publicintAge{get;set;}。適合于set、get中沒有特殊邏輯代碼的情況。允許外部訪問的值一定要聲明為屬性。l字段和屬性的區(qū)別是什么?屬性看似字段、不是字段,可以進(jìn)行非法值控制,可以設(shè)置只讀。lset、get塊內(nèi)部其實(shí)就是get_***、set_***方法。—高級(jí)軟件人才實(shí)作培訓(xùn)專家課上練習(xí)ll面向?qū)ο蟀媪奶鞕C(jī)器人機(jī)器人有不同的名字、維護(hù)自己的FullLevel,可以SayHello(我叫***),可以喂食(Eat(intfoodCount)),可以對(duì)它說話(Speak),對(duì)異常情況(錯(cuò)誤的喂飯數(shù)字,喂的太多撐死了)進(jìn)行處理,有兩個(gè)機(jī)器人供選擇,一開始通過1、2數(shù)字選擇聊天機(jī)器人。PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建—高級(jí)軟件人才實(shí)作培訓(xùn)專家構(gòu)造函數(shù)lllll構(gòu)造函數(shù)用來創(chuàng)建對(duì)象,并且可以在構(gòu)造函數(shù)中對(duì)對(duì)象進(jìn)行初始化。構(gòu)造函數(shù)是用來創(chuàng)建對(duì)象的特殊函數(shù),函數(shù)名和類名一樣,沒有返回值,連void都不用。構(gòu)造函數(shù)可以有參數(shù),new對(duì)象的時(shí)候傳遞函數(shù)參數(shù)即可構(gòu)造函數(shù)可以重載,也就是有多個(gè)參數(shù)不同的構(gòu)造函數(shù)。如果不指定構(gòu)造函數(shù),則類有一個(gè)默認(rèn)的無參構(gòu)造函數(shù)。如果指定了構(gòu)造函數(shù),則不再有默認(rèn)的無參構(gòu)造函數(shù),如果需要無參構(gòu)造函數(shù),則需要自己來寫。PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建—高級(jí)軟件人才實(shí)作培訓(xùn)專家繼承publicclassChinese:Person{publicstringHuKou{get;set;}publicvoidKongFu(){……}}Chinesep1=newChinese();p1.Name="李雷";p1.HuKou="北京市朝陽區(qū)";p1.SayHello();p1.KongFu();定義類的時(shí)候不指定父類,則父類是Object類。Object類是任何類的直接或者間接父類。所有類都是Object的子類。PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建—高級(jí)軟件人才實(shí)作培訓(xùn)專家對(duì)象的隱式轉(zhuǎn)換和顯式轉(zhuǎn)換Chinesech=newChinese();//隱式轉(zhuǎn)換,把子類變量賦值給父類變量Personp=ch;//顯式轉(zhuǎn)換,把父類變量賦值給子類變量Personp=newChinese();Chinesech=(Chinese)p;//如果對(duì)象不在同一個(gè)繼承樹路徑上//則不能強(qiáng)制類型轉(zhuǎn)換Dogg=newDog();Chinesech=(Chinese)g;//錯(cuò)誤//is運(yùn)算if(pisChinese){Console.WriteLine("中國人");}elseif(pisKorean){Console.WriteLine("韓國人");}//as運(yùn)算符Chinesech=pasChinese;if(ch!=null){Console.WriteLine("中國人");}Koreanch=pasKorean;if(ch!=null){Console.WriteLine("韓國人");}()轉(zhuǎn)換和as轉(zhuǎn)換的區(qū)別:如果轉(zhuǎn)換失敗()會(huì)報(bào)異常,而as則會(huì)返回null。if(p1isChinese)//is運(yùn)算符結(jié)果就是bool,表示是否是指定的類型。is用來判斷變量指向的對(duì)象是否是指定的類型或者指定類型子類類型。as可以起到判斷類型和轉(zhuǎn)換的雙重作用。PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建—高級(jí)軟件人才實(shí)作培訓(xùn)專家異常與異常處理llllllll傳統(tǒng)的錯(cuò)誤表示方式:錯(cuò)誤碼。舉例。需要知道不同錯(cuò)誤碼的含義,如果不處理錯(cuò)誤碼,則程序可能陷入不可以預(yù)置的錯(cuò)誤。陳攝影師以為文件已經(jīng)被刪除造成的麻煩。錯(cuò)誤碼的缺點(diǎn):不處理則很難發(fā)現(xiàn),每次處理則很麻煩;難以看出錯(cuò)誤的原因;容易使得程序進(jìn)入不確定狀態(tài)。trycatch。Exceptionex異常也是對(duì)象。Exception類主要屬性:Message、StackTrace發(fā)生異常后程序默認(rèn)就退出了,try代碼塊中的后續(xù)代碼不會(huì)被執(zhí)行。catch以后的代碼則會(huì)繼續(xù)執(zhí)行。不要吃掉異常,一般情況下不需要處理異常。扔出自己的異常,扔:throw,抓住:catchInnerExceptionPDF文件使用"pdfFactoryPro"試用版本創(chuàng)建—高級(jí)軟件人才實(shí)作培訓(xùn)專家ltry……finallyPDF文件使用"pdfFactoryPro"試用版本創(chuàng)建—高級(jí)軟件人才實(shí)作培訓(xùn)專家傳智播客.Net培訓(xùn)實(shí)訓(xùn)視頻下載ll傳智播客發(fā)布了2010年最新的.Net課堂視頻教程,內(nèi)容涉及C#、HTML、JavaScript、JQuery、ASP.Net等內(nèi)容,覆蓋了從C#初學(xué)到ASP.Net深層應(yīng)用的各階段知識(shí),內(nèi)容列表如下:第1季C#編程基礎(chǔ);第2季C#面向?qū)ο蠡A(chǔ);3季W(wǎng)inForm基礎(chǔ);第4季SQL從入門到提高;第5季ADO.Net;第6季HTML;第7季JavaScript;第8季Dom;第9季JQuery;第10季基礎(chǔ);第11季中級(jí);第12季高級(jí);第13季ajax。ll傳智播客.Net培訓(xùn)視頻教程免費(fèi)下載地址:/ViewArticle181.aspx傳智播客.Net培訓(xùn)(),學(xué)費(fèi)只要5800元PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建—高級(jí)軟件人才實(shí)作培訓(xùn)專家常量與靜態(tài)成員lllllconst常量。常量名要大寫。一定不會(huì)變化的值才能聲明為常量。全局變量。static類變量。readonly不用new就能用的方法:static方法,static方法其實(shí)就是普通函數(shù)在static成員中可以調(diào)用其他static成員,但是不能調(diào)用非static成員。在非static成員中可以調(diào)用static成員。靜態(tài)類,不能被new的類就是靜態(tài)類。靜態(tài)類一般用來實(shí)現(xiàn)一些函數(shù)庫。***Helper,SqlHelper,PageHelper。PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建—高級(jí)軟件人才實(shí)作培訓(xùn)專家成員的賦值l見備注PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建—高級(jí)軟件人才實(shí)作培訓(xùn)專家命名空間llnamespace(命名空間),用于解決類重名問題,可以看做“類的文件夾”。在代碼中使用其他類的時(shí)候需要using類所在的namespace。System.Collections.ArrayList,快速引入的方法,右鍵→解析(Ctrl+.)也可以直接引用類的全名。為什么使用Convert、Console等類不需要自己寫using?如果代碼和被使用的類在一個(gè)namespace則不需要using。可以修改默認(rèn)的namespace,因此不要認(rèn)為在相同文件夾下就不用using,不在相同文件夾下就需要using。類內(nèi)部聲明類的引用。說明:類的名字不要和命名空間的名字重復(fù),否則會(huì)有很多麻煩。llllllPDF文件使用"pdfFactoryPro"試用版本創(chuàng)建—高級(jí)軟件人才實(shí)作培訓(xùn)專家索引器(*)lllllllC#中提供了按照索引器進(jìn)行訪問的方法定義索引器的方式:stringthis[intindex]{get{return"";}set{}},string為索引器的類型,[]中是參數(shù)列表。進(jìn)行索引器寫操作就是調(diào)用set代碼塊,在set內(nèi)部使用value得到用戶設(shè)置的值;進(jìn)行讀操作就執(zhí)行g(shù)et代碼塊。索引器參數(shù)可以不止一個(gè),類型也不限于int,幾乎可以是任意類型。程序員說要有屬性,所以就有了屬性。索引器同理。索引器的本質(zhì),反編譯之。之前用到索引器的地方:string類charc=s1[2]。索引器也可以只讀,只要沒有set段就可以了。PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建—高級(jí)軟件人才實(shí)作培訓(xùn)專家第一個(gè)Windows程序Form,.Net中用來開發(fā)Windows窗口程序的技術(shù),無論是之前學(xué)的控制臺(tái)程序,還是后面要學(xué)的ASP.Net都是調(diào)用.Net框架,因此所有知識(shí)點(diǎn)都是一樣的。l新建一個(gè)Windows項(xiàng)目:Windows→Windows窗體應(yīng)用程序l控件:窗口上很多元素都是相似的,因此將這些元素抽象為一些類,這些類就叫做控件。識(shí)別PowerPoint中的控件,按鈕(Button)、文本框(TextBox)、標(biāo)簽(Label)、單選按鈕(RadioButton)、復(fù)選框(CheckBox)。l添加、刪除、移動(dòng)、縮放控件lWinForm:WindowsPDF文件使用"pdfFactoryPro"試用版本創(chuàng)建—高級(jí)軟件人才實(shí)作培訓(xùn)專家WinForm概念llll事件:鼠標(biāo)移動(dòng)到按鈕上的時(shí)候顯示“大爺您來了”,離開按鈕的時(shí)候顯示“大爺常來呀”。通過設(shè)計(jì)器設(shè)置屬性、事件的東西存在哪里?看Designer.cs。刪除事件響應(yīng)的方法:先到事件頁簽中刪除屬性,再刪除函數(shù)。拖放控件,輸入姓名,點(diǎn)擊按鈕,窗口標(biāo)題顯示問好。設(shè)置窗口對(duì)象的屬性就可以改變窗口的外觀。點(diǎn)擊按鈕調(diào)用TextBox的Hide方法,調(diào)用控件的方法就可以使得控件發(fā)生動(dòng)作。當(dāng)用戶點(diǎn)擊按鈕的時(shí)候Button1_click方法被調(diào)用,這個(gè)方法不是程序員調(diào)用的,而是程序員把方法寫好,并且說明“當(dāng)用戶點(diǎn)擊按鈕的時(shí)候執(zhí)行Button1_click方法中的代碼”,這一點(diǎn)和控制臺(tái)程序不同。這被稱為“好萊塢原則”:不要找我,我會(huì)找你(Don'tcallme,Iwillcallyou)方法放在那里,發(fā)生事件的時(shí)候框架來調(diào)用這個(gè)方法。button5_Click不是程序員調(diào)用的,而是框架調(diào)用的。回調(diào)(CallBack)。控件、屬性、事件、事件處理方法、控件的名字(控件的實(shí)例;對(duì)象名)llllPDF文件使用"pdfFactoryPro"試用版本創(chuàng)建—高級(jí)軟件人才實(shí)作培訓(xùn)專家簡單的WinForm程序lllll簡單的加法計(jì)算器,用戶在文本框1、2中輸入兩個(gè)數(shù),點(diǎn)擊按鈕,在文本框3中顯示兩個(gè)數(shù)的和。如果1或者2為錯(cuò)誤的數(shù)據(jù)格式,則彈出對(duì)話框提示錯(cuò)誤。int.TryParse、MessageBox.Show。strings=string.Format("{0}你好",textBox1.Text);//推薦練習(xí)1:用戶在文本框1、2中輸入兩個(gè)數(shù),點(diǎn)擊按鈕,在文本框3中顯示從文本框1中的數(shù)字到文本框2中數(shù)字之間的累加和。如果1或者2為錯(cuò)誤的數(shù)據(jù)格式,則彈出對(duì)話框提示錯(cuò)誤。如果文本框1中的數(shù)字比文本框2中數(shù)字大,則提示錯(cuò)誤。練習(xí)2:頁面上有一張圖片(PictureBox,在Image屬性中加載圖片),默認(rèn)是隱藏的(Visible=False),用戶在文本框中輸入身份證號(hào),點(diǎn)擊按鈕,如果年齡大于18歲則顯示圖片(Visible=True),否則提示年齡太小。取當(dāng)前年份:DateTime.Now.Year。練習(xí)3:頁面上有一個(gè)文本框,文本框左側(cè)和右側(cè)各有一個(gè)按鈕,點(diǎn)擊左側(cè)按鈕文本框中的文字向左循環(huán)滾動(dòng)一次,點(diǎn)擊右側(cè)按鈕文本框中的文字向右循環(huán)滾動(dòng)一次。常見錯(cuò)誤:inti1=Convert.ToInt32(textBox1)PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建—高級(jí)軟件人才實(shí)作培訓(xùn)專家TextBox文本框的幾種模式:Multiline(多行)、PasswordChar(密碼)將文本框的PasswordChar設(shè)為*就是密碼框效果,將MultiLine屬性設(shè)置為true并且將高度拉到合適的大小就是多行效果,textBox4.AppendText("hello"+"\n")就是附加一行。控件名要有含義、控件名前綴的“潛規(guī)則”。按鈕Button:btn;文本框TextBox:txt;復(fù)選框CheckBox:cb。控件的名字要有意義。案例1:登錄界面。登錄錯(cuò)誤三次退出程序,假設(shè)用戶名、密碼是admin、888888,不區(qū)分大小寫。(易錯(cuò)點(diǎn):局部變量與類變量)退出程序this.Close()或者Application.Exit()案例2:修改密碼。界面上有舊密碼、新密碼、重復(fù)新密碼,假設(shè)舊密碼為888888,兩次輸入的新密碼必須和舊密碼不一樣,并且兩次輸入的新密碼必須一致。案例3:在多行文本框中輸入多行“姓名=成績”格式的數(shù)據(jù),要求輸出成績最高的學(xué)生的姓名和成績。PDF文件使用"pdfFactoryPro"試用版本創(chuàng)建—高級(jí)軟件人才實(shí)作培訓(xùn)專家ComboBoxllllllllSelectedIndex:選中項(xiàng)的序號(hào)。沒有任何選中的時(shí)候是-1,否則是選中的序號(hào)(0開始)練習(xí)1:簡單的四則運(yùn)算器如何禁止用戶編輯?三種風(fēng)格。響應(yīng)選擇改變事件練習(xí)2:省市選擇器練習(xí)3:日月選擇器,假設(shè)2月份總是28天。1、3、5、7、8、10、12月份是31天,其他是30天。表驅(qū)動(dòng)。DRY:Don'tRepeatyourself!不要復(fù)制代碼!switch的fallthroughPDF文件使用"pdfFactoryPro"試用版本創(chuàng)建—高級(jí)軟件人才實(shí)作培訓(xùn)專家計(jì)時(shí)器TimerlllllllTimer。每隔一段時(shí)間觸發(fā)一個(gè)事件。不可視控件。Inerval、Enabled。Tick事件。計(jì)量單位:ms(毫秒)。1秒=1000毫秒DateTime案例:小時(shí)鐘。取當(dāng)前時(shí)間DateTime.Now.ToString();案例:按鈕動(dòng)態(tài)變大。練習(xí):標(biāo)題欄或者TextBox走馬燈,向左滾動(dòng)練習(xí):美女時(shí)鐘:pictureBox1.Load(@"D:\www\mm\00_01.jpg")
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 山東省濟(jì)南市萊蕪區(qū)市級(jí)名校2024-2025學(xué)年初三年級(jí)第一次質(zhì)量檢測試題物理試題含解析
- 二手房屋交易定金合同范本
- 濟(jì)寧市金鄉(xiāng)縣2025年數(shù)學(xué)四年級(jí)第二學(xué)期期末預(yù)測試題含解析
- 應(yīng)收賬款質(zhì)押合同
- 特許經(jīng)營合同與市場監(jiān)管
- 2025年海南省保亭黎族苗族自治縣中考三模道德與法治試題(含答案)
- 健身房轉(zhuǎn)讓協(xié)議
- 幼兒舞蹈表演形式
- 影視后期特效項(xiàng)目教程課件 項(xiàng)目1 不忘初心青春無悔
- 第三章第三節(jié)海陸變遷 教學(xué)設(shè)計(jì)-2024-2025學(xué)年湘教版七年級(jí)地理上冊(cè)
- 2024-2025學(xué)年統(tǒng)編版語文二年級(jí)下冊(cè) 期中測試題(含答案)
- 2025年中考英語押題預(yù)測卷(蘇州專用)(原卷版)
- 2025年高級(jí)工程測量員(三級(jí))技能認(rèn)定理論考試題庫(含答案)
- 小學(xué)勞動(dòng)教育實(shí)施情況調(diào)查問卷(含教師卷和學(xué)生卷)及調(diào)查結(jié)論
- 機(jī)械完整性專題知識(shí)講座
- 《生態(tài)環(huán)境規(guī)劃》課程教學(xué)大綱
- DB43∕T 1817-2020 公路貨運(yùn)車輛不停車超限超載檢測系統(tǒng)建設(shè)與使用技術(shù)規(guī)范
- 人際交往與溝通概述課件
- 叢枝菌根真菌的功能多樣性分析
- 年產(chǎn)6萬噸飼料廠建設(shè)項(xiàng)目可行性研究報(bào)告-甲乙丙資信
- 環(huán)境致病菌監(jiān)控程序文件
評(píng)論
0/150
提交評(píng)論