2023年Net面試題大全個人整理_第1頁
2023年Net面試題大全個人整理_第2頁
2023年Net面試題大全個人整理_第3頁
2023年Net面試題大全個人整理_第4頁
2023年Net面試題大全個人整理_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

2.列舉ASP.NET頁面之間傳遞值的幾種方式。答:QueryString是一種非常簡樸的傳值方式,他可以將傳送的值顯示在瀏覽器的地址欄中。假如是傳遞一個或多個安全性規(guī)定不高或是結(jié)構(gòu)簡樸的數(shù)值時,可以使用這個方法。但是對于傳遞數(shù)組或?qū)ο蟮脑?,就不能用這個方法了。Application對象的作用范圍是整個全局,也就是說對所有用戶都有效。其常用的方法用Lock和UnLock。Session變量想必這個肯定是大家使用中最常見的用法了,作用于用戶個人,所以,過量的存儲會導致服務器內(nèi)存資源的耗盡。Cookie對象變量這個也是大家常使用的方法,與Session同樣,其是什對每一個用戶而言的,但是有個本質(zhì)的區(qū)別,即Cookie是存放在客戶端的,而session是存放在服務器端的。并且Cookie的使用要配合ASP.NET內(nèi)置對象Request來使用。Server.Transfer方法這個才可以說是面象對象開發(fā)所使用的方法,其使用Server.Transfer方法把流程從當前頁面引導到另一個頁面中,新的頁面使用前一個頁面的應答流,所以這個方法是完全面象對象的,簡潔有效。3.一列數(shù)的規(guī)則如下:1、1、2、3、5、8、13、21、34..求第30位數(shù)是多少,用遞歸算法實現(xiàn)。答:publicstaticintCalculate(intx){intretInt=1;if(x>2){returnCalculate(x-2)+Calculate(x-1);}elsereturnretInt;}4.C#中的委托是什么?事件是不是一種委托?答:HYPERLINK":47873/help/1-4872/ms.help?method=page&id=0BB8CB6D-2F87-47C7-9D1F-D65C1CD01E9F&product=VS&productVersion=100&topicVersion=100&locale=ZH-CN&topicLocale=ZH-CN"委托是一種定義方法署名的類型,可以與具有兼容署名的任何方法關聯(lián)??梢酝ㄟ^委托調(diào)用方法。委托用于將方法作為參數(shù)傳遞給其他方法。委托具有以下特點:委托類似于C++函數(shù)指針,但它們是類型安全的。委托允許將方法作為參數(shù)進行傳遞。委托可用于定義回調(diào)方法。委托可以鏈接在一起;例如,可以對一個事件調(diào)用多個方法。方法不必與委托署名完全匹配。事件是一種特殊的委托。5.override與重載的區(qū)別答:Override:要擴展或修改繼承的方法、屬性、索引器或事件的抽象實現(xiàn)或虛實現(xiàn),重寫的基方法必須與override方法具有相同的署名。方法重載:一個類中可以有一個以上的方法擁有相同的名稱。但必須有不相同的署名。6.假如在一個B/S結(jié)構(gòu)的系統(tǒng)中需要傳遞變量值,但是又不能使用Session、Cookie、Application,您有幾種方法進行解決?答:QueryString、Server.Transfer方法。7.請編程遍歷頁面上所有TextBox控件并給它賦值為string.Empty?答:foreach(Controlcontrolinthis.Controls){if(controlisTextBox){TextBoxtb=(TextBox)control;tb.Text=String.Empty;}}8.請編程實現(xiàn)一個冒泡排序算法?答://冒泡排序publicstaticvoidMaoPaoSort(refint[]arrays){if(arrays!=null&&arrays.Length>0){for(inti=1;i<arrays.Length;i++){boolisChange=false;for(intj=0;j<arrays.Length-i;j++){if(arrays[j]>arrays[j+1]){inttempValue=arrays[j];arrays[j]=arrays[j+1];arrays[j+1]=tempValue;isChange=true;}}if(!isChange)break;}}}9.描述一下C#中索引器的實現(xiàn)過程,是否只能根據(jù)數(shù)字進行索引?答:索引器允許類或結(jié)構(gòu)的實例就像數(shù)組同樣進行索引。索引器類似于HYPERLINK":47873/help/1-4872/ms.help?method=page&id=E295A8A2-B357-4EE7-A12E-385A44146FA8&product=VS&productVersion=100&topicVersion=100&locale=ZH-CN&topicLocale=ZH-CN"屬性,不同之處在于它們的訪問器采用參數(shù)。PublicReturnTypethis[paramTypeindex]{get{}set{}},可以用任何類型進行索引。10.求以下表達式的值,寫出您想到的一種或幾種實現(xiàn)方法:1-2+3-4+……+m答:publicstaticintsumMethod1(intm){intsum=0;for(inti=1;i<=m;i++){if(i%2!=0)sum+=i;elsesum-=i;}returnsum;}publicstat(yī)icintsumMethod2(intm){intsum=0;if(m%2!=0)sum=m/2+1;elsesum=-(m/2);returnsum;}12.在下面的例子里classA{publicA(){PrintFields();}publicvirtualvoidPrintFields(){}}classB:A{intx=1;inty;publicB(){y=-1;}publicoverridevoidPrintFields(){Console.WriteLine("x={0},y={1}",x,y);}}當使用newB()創(chuàng)建B的實例時,產(chǎn)生什么輸出?答:X=1,Y=013.什么叫應用程序域?答:應用程序域(applicationdomain)(AppDomain)一種邊界,它由公共語言運營庫圍繞同一應用程序范圍內(nèi)創(chuàng)建的對象建立(即,從應用程序入口點開始,沿著對象激活的序列的任何位置)。應用程序域有助于將在一個應用程序中創(chuàng)建的對象與在其他應用程序中創(chuàng)建的對象隔離,以使運營時行為可以預知。在一個單獨的進程中可以存在多個應用程序域。14.CTS、CLS、CLR分別作何解釋?答:CTS:通用類型系統(tǒng)。CLS:通用語言規(guī)范。CLR:公共語言運營庫。15.什么是裝箱和拆箱?答:裝箱:裝箱轉(zhuǎn)換是指將一個值類型隱式或顯式地轉(zhuǎn)換成一個object類型,拆箱:拆箱轉(zhuǎn)換是指將一個對象類型顯式地轉(zhuǎn)換成一個值類型。16.什么是受管制的代碼?答:受托管的代碼不能直接寫內(nèi)存,是安全的,它受CLR的內(nèi)存安全管理,而非托管代碼是非安全代碼,可以使用指針操作內(nèi)存18.net中讀寫數(shù)據(jù)庫需要用到那些類?他們的作用?答:DataSet:數(shù)據(jù)存儲器Connection對象,用來創(chuàng)HYPERLINK""\t"_blank"建和打開,關閉數(shù)據(jù)庫連接。Command對象,用來執(zhí)行各種sql語句或者調(diào)用HYPERLINK""\t"_blank"存儲過程。Adapter對象,數(shù)據(jù)HYPERLINK""適配器,用來執(zhí)行SQL語句,配HYPERLINK""\t"_blank"合數(shù)據(jù)集執(zhí)行比較多。DataReader,只讀的對象,有著很高的性能。21.在.net中,配件的意思是?答:程序集。(中間語言,源數(shù)據(jù),資源,裝配清單)22.常用的調(diào)用WebService的方法有哪些?答:1.使用WSDL.exe命令行工具。2.使用VS.NET中的AddWebReference菜單選項23..netRemoting的工作原理是什么?答:服務器端向客戶端發(fā)送一個進程編號,一個程序域編號,以擬定對象的位置。31.公司規(guī)定開發(fā)一個繼承System.Windows.Forms.ListView類的組件,規(guī)定達成以下的特殊功能:點擊ListView各列列頭時,能按照點擊列的每行值進行重排視圖中的所有行(排序的方式如DataGrid相似)。根據(jù)您的知識,請簡要談一下您的思緒答:根據(jù)點擊的列頭,包該列的名稱取出,按照該列名排序后,再綁定到ListView中。35.能用foreach遍歷訪問的對象需要實現(xiàn)IEnumerable接口或聲明GetEnumerator方法的類型。36.GC是什么?為什么要有GC?答:GC是垃圾收集器。程序員不用緊張內(nèi)存管理,由于垃圾收集器會自動進行管理。要請求垃圾收集,可以調(diào)用下面的方法之一:System.GC.Collect();37.Strings=newString("xyz");創(chuàng)建了幾個StringObject?答:兩個對象,一個是“xyx”,一個是指向“xyx”的引用對像s。38.abstractclass和interface有什么區(qū)別?答:抽象類:只能用做其它類的基類,它就是被設計來被繼承的。不能創(chuàng)建它的實例。它使用abstract修飾符來聲明。抽象類可以包含抽象成員,但不是必須的,它的成員可以抽象成員和普通帶實現(xiàn)的成員的任意組合。它自己可以派生自另一個抽象類。任何派生自抽象類的類必須使用override關鍵字實現(xiàn)該類所有的抽象成員,除非派生類自己也是抽象類。接口:接口是表達一組函數(shù)成員而不實現(xiàn)成員的引用類型。其它類和結(jié)構(gòu)可以實現(xiàn)接口。接口聲明不涉及數(shù)據(jù)成員。接口聲明只能包含如下類型的靜態(tài)成員函數(shù)的聲明:方法、屬性、事件、索引。接口的成員不能包含任何實現(xiàn)代碼,而在每一個成員聲明的主體后必須使用分號。接口名稱必須從大寫的I開始。它和類同樣,也可以聲明成分部接口。接口聲明可以有任何的訪問類型:public、protected、internal、privat(yī)e。接口成員是隱式Public的,不允許有任何訪問修飾符。什么是線程池為了幫我們減少創(chuàng)建和銷毀線程相關的成本,CLR為每一個進程維護了一個線程池。一開始進程的線程池是空的,假如進程使用的線程被創(chuàng)建,并且完畢了線程的執(zhí)行,它不會被銷毀,而是加入到進程的線程池中,這后,假如進程需要一個此外一個線程,CLR就會從池中還原一個線程,這就節(jié)省了很多時間。39.啟動一個線程是用run()還是start()?答:啟動一個線程是調(diào)用start()方法,這并不意味著線程就會立即運營,只是進入了可運營狀態(tài)。直接調(diào)用run()方法不會產(chǎn)生線程,而是把它當作普通的方法調(diào)用,立即執(zhí)行40.接口是否可繼承接口?抽像類是否可實現(xiàn)(implements)接口?抽像類是否可繼承實體類(concreteclass)?答:接口可以繼承接口。抽像類可以實現(xiàn)(implements)接口,抽像類是否可繼承實體類,但前提是實體類必須有明確的構(gòu)造函數(shù)。41.構(gòu)造器Constructor是否可被override?答:構(gòu)造器Constructor不能被繼承,因此不能重寫Overriding,但可以被重載Overloading。42.是否可以繼承String類?答:不可以,由于String類是密封類,被Sealed修飾符所修飾。44.兩個對像值相同(x.equals(y)==true),但卻可有不同的hashcode,這句話對不對?答:不對,有相同的hashcode。HashCode:可以簡樸的理解為內(nèi)存的地址。"==":操作比較的是兩個變量的值是否相等,對于引用型變量表達的是兩個變量在堆中存儲的地址是否相同,即棧中的內(nèi)容是否相同。"equals":操作表達的兩個變量是否是對同一個對象的引用,即堆中的內(nèi)容是否相同。而字符串是一個特殊的引用型類型,在C#語言中,重載了string對象的很多方法方法(涉及equals()方法),使string對象用起來就像是值類型同樣。45.swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?答:可以。47.當一個線程進入一個對象的一個synchronized方法后,其它線程是否可進入此對象的其它方法?不能,一個對象的一個synchronized方法只能由一個線程訪問。49.List,Set,Map是否繼承自Collection接口?答:List,Set是Map不是51.數(shù)組有沒有length()這個方法?String有沒有l(wèi)ength()這個方法?答:數(shù)組和string都沒有Length()方法,只有Length屬性。52.sleep()和wait()有什么區(qū)別?答:sleep()方法是將當前線程掛起指定的時間。wait()釋放對象上的鎖并阻塞當前線程,直到它重新獲取該鎖。53.shorts1=1;s1=s1+1;有什么錯?shorts1=1;s1+=1;有什么錯?答:shorts1=1;s1=s1+1;有錯,s1是short型,s1+1是int型,不能隱式轉(zhuǎn)化為short型??尚薷臑閟1=(short)(s1+1)。shorts1=1;s1+=1對的。復合賦值表達式自動地將所執(zhí)行計算的結(jié)果轉(zhuǎn)型為其左側(cè)變量的類型,s1+=1等價于s1=(short)s1+1;55.如何解決幾十萬條并發(fā)數(shù)據(jù)?答:用存儲過程或事務。取得最大標記的時候同時更新..注意主鍵不是自增量方式這種方法并發(fā)的時候是不會有反復主鍵的..取得最大標記要有一個存儲過程來獲取.56.Session有什么重大BUG,微軟提出了什么方法加以解決?答:是iis中由于有進程回收機制,系統(tǒng)繁忙的話Session會丟失,可以用Sateserver或SQLServer數(shù)據(jù)庫的方式存儲Session但是這種方式比較慢,并且無法捕獲Session的END事件。57.進程和線程的區(qū)別?答:進程是系統(tǒng)進行資源分派和調(diào)度的單位;線程是CPU調(diào)度和分派的單位,一個進程可以有多個線程,這些線程共享這個進程的資源。進程:進程就是一組資源,它們構(gòu)成了一個正在運營的程序。線程:在進程中系統(tǒng)創(chuàng)建了一個叫做線程的內(nèi)核對象,線程體現(xiàn)了一個程序的真實執(zhí)行情況。58.堆和棧的區(qū)別?答:棧是編譯期間就分派好的內(nèi)存空間,因此你的代碼中必須就棧的大小有明確的定義;堆是程序運營期間動態(tài)分派的內(nèi)存空間,你可以根據(jù)程序的運營情況擬定要分派的堆內(nèi)存的大小。棧:它是一個內(nèi)存數(shù)組,是一個LIFO的數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)只能從棧頂插入和刪除。堆:它是一塊內(nèi)存區(qū)域,在堆里可以分派大塊的內(nèi)存用于存儲某類型的數(shù)據(jù),堆里的內(nèi)存可以以任意順序存入和取出。59.成員變量和成員函數(shù)前加static的作用?答:它們用來反映類的狀態(tài)。靜態(tài)成員它被類的所有實例所共享,所有實例都訪問同一內(nèi)存位置。它們獨立于所有的類實例,即使沒有類實例,也可以調(diào)用類的靜態(tài)成員。60.ASP。NET與ASP相比,重要有哪些進步?答:asp解釋形,aspx編譯型,性能提高,可以跟美工的工作分開進行,更有助于團隊開發(fā)。61.產(chǎn)生一個int數(shù)組,長度為100,并向其中隨機插入1-100,并且不能反復。publicstaticint[]BuildIntArray(){int[]retsInt=newint[100];List<int>tempList=newList<int>();Randomrandom=newRandom();while(tempList.Count<100){intnum=random.Next(1,101);if(!tempList.Contains(num))tempList.Add(num);}tempList.Sort();for(inti=0;i<tempList.Count;i++)retsInt[i]=tempList[i];returnretsInt;}62.請說明在.net中常用的幾種頁面間傳遞參數(shù)的方法,并說出他們的優(yōu)缺陷。答:QueryString傳遞一個或多個安全性規(guī)定不高或是結(jié)構(gòu)簡樸的數(shù)值。但是對于傳遞數(shù)組或?qū)ο蟮脑?就不能用這個方法了session(viewstate)簡樸,但易丟失作用于用戶個人,過量的存儲會導致服務器內(nèi)存資源的耗盡。application對象的作用范圍是整個全局,也就是說對所有用戶都有效。其常用的方法用Lock和UnLockcookie簡樸,但也許不支持,也許被偽造Cookie是存放在客戶端的,而session是存放在服務器端的。并且Cookie的使用要配合ASP.NET內(nèi)置對象Request來使用inputttype="hidden"簡樸,也許被偽造url參數(shù)簡樸,顯示于地址欄,長度有限Server.Transfer把流程從當前頁面引導到另一個頁面中,新的頁面使用前一個頁面的應答流數(shù)據(jù)庫穩(wěn)定,安全,但性能相對弱63.請指出GAC的含義?答:全局程序集緩存。GAC(Global

AssemblyCache),他的作用是可以存放一些有很多程序都要用到的公共Assembly。這樣,很多程序就可以從GAC里面取得Assembly,而不需要再把所有要用到的Assembly都拷貝到應用程序的執(zhí)行目錄下面。64.向服務器發(fā)送請求有幾種方式?答:get,post。get一般為鏈接方式,post一般為按鈕方式。區(qū)別:

Get方式,服務器端用Request.Qurystring取變量的值,安全性不高,傳送數(shù)據(jù)量小。

post方式,服務器端用Request.Form獲取提交的數(shù)據(jù),安全性高。建議:1、get方式的安全性較Post方式要差些,包含機密信息的話,建議用Post數(shù)據(jù)提交方式;2、在做數(shù)據(jù)查詢時,建議用Get方式;而在做數(shù)據(jù)添加、修改或刪除時,建議用Post方式。65.Dat(yī)aReader與Dat(yī)aset有什么區(qū)別?答:連接數(shù)據(jù)庫時DataSet是非面向連接的,而Dat(yī)aReader是面向連接的。DataSet表達一個數(shù)據(jù)集,是數(shù)據(jù)在內(nèi)存中的緩存,可以涉及多個表,是保存數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)。而Datareader不承擔保存數(shù)據(jù)的責任,它只負責從數(shù)據(jù)源讀取數(shù)據(jù)到本地而已,它不是數(shù)據(jù)結(jié)構(gòu),而是網(wǎng)絡通訊組件的高層封裝。DataSet可以離線解決,前后滾動,而Dat(yī)aReader不能離線解決,且是只讀向前的,速度快。DataSet可以存儲數(shù)據(jù)庫各種對象的,比如表觸發(fā)器等,可以更新回本來的數(shù)據(jù)庫。而DataReader只能存儲游標記錄,不可以更新回本來的數(shù)據(jù)庫,

它類似一個只能向前的游標記錄集。66.軟件開發(fā)過程一般有幾個階段?每個階段的作用?答:軟件開發(fā)一般分為五個階段:問題的定義及規(guī)劃?此階段是軟件開發(fā)與需求方共同討論,重要擬定軟件的開發(fā)目的及其可行性。需求分析

在擬定軟件開發(fā)可行性的情況下,對軟件需要實現(xiàn)的各個功能進行具體需求分析。需求分析階段是一個很重要的階段,這一階段做的好,將為整個軟件項目的開發(fā)打下良好的基礎?!拔ㄒ徊蛔兊氖亲兓陨怼保瑯榆浖枨笠彩窃谲浖_發(fā)過程中不斷變化和進一步的,因此,我們必須定制需求變更計劃來應付這種變化,以保護整個項目的正常進行。軟件設計?此階段中要根據(jù)需求分析的結(jié)果,對整個軟件系統(tǒng)進行設計,如系統(tǒng)框架設計、數(shù)據(jù)庫設計等。軟件設計一般分為概要設計和具體設計,軟件設計將為軟件程序編寫打下良好的基礎。程序編碼?此階段是將軟件設計的結(jié)果轉(zhuǎn)化為計算機可運營的程序代碼。在程序編碼中必然要制定統(tǒng)一、符合標準的編寫規(guī)范。以保證程序的可讀性、易維護性。提高程序的運營效率。軟件測試?在軟件設計完畢之后要進行嚴密的測試,一發(fā)現(xiàn)軟件在整個軟件設計過程中存在的問題并加以糾正。整個測試階段分為單元測試、組裝測試、系統(tǒng)測試三個階段進行。測試方法重要有白盒測試和黑盒測試。6.部署及維護。67.在c#中using和new這兩個關鍵字有什么意義,請寫出你所知道的意義?Uning:using做為命名空間指令:通過在源文獻頂端放置Using命名空間指令以避免不得不使用長名稱,它告知編譯器你將要使用來自某個指定命名空間的類型。using做為別名指令:它允許對一個命名空間或命名空間中的一個類型起一個別名。using語句:某些類型的非托管對象有數(shù)量限制或很花費系統(tǒng)資源,這樣在代碼使用完它們后,就得盡也許快的釋放它們,using語句有助于簡化該過程并保證這些資源被適當?shù)奶幹?。New:創(chuàng)建類和結(jié)構(gòu)的實例。隱藏基類的方法。創(chuàng)建匿名類型(var和new關鍵字一起使用時可以創(chuàng)建匿名類型,匿名類型只是一個繼承了Object的、沒有名稱的類,該類的定義從初始化器中推斷,類似于隱匿類型化的變量)。68.需要實現(xiàn)對一個字符串的解決,一方面將該字符串首尾的空格去掉,假如字符串中間尚有連續(xù)空格的話,僅保存一個空格,即允許字符串中間有多個空格,但連續(xù)的空格數(shù)不可超過一個.答: stringstr="afdkdaskdfjiksdafj";stringstrAfter=Regex.Replace(str.Trim(),@"\s+","");69.下面這段代碼輸出什么?為什么?inti=5;intj=5;if(Object.ReferenceEquals(i,j))Console.WriteLine("Equal");elseConsole.WriteLine("NotEqual");答:NotEqual,由于ReferenceEquals是Object的靜態(tài)方法,用于比較兩個引用類型的對象是否是對于同一個對象的引用,對于值類型它總是返回false。34.ReferenceEquals,==,Equals的區(qū)別String對于聲明的相同的字符串在堆上只保存一個Copy,所以有相同字符串值的兩個字符串變量將會指向相同的Reference。ReferenceEquals:?它是Object的靜態(tài)方法,用于比較兩個引用類型的對象是否是對于同一個對象的引用,對于值類型它總是返回false。==:?它是一個可以重載的二元操作符,可以用于比較兩個對象是否相等。

對于內(nèi)置值類型,==判斷的是兩個對象的代數(shù)值是否相等。它會根據(jù)需要自動進行必要的類型轉(zhuǎn)換,并根據(jù)兩個對象的值是否相等返回true或者false,而對于用戶定義的值類型,假如沒有重載==操作符,==將是不可以使用的。

對于引用類型,==默認的行為與ReferenceEquals的行為相同,僅有兩個對象指向同一個Reference的時候才返回true。但是.NETFramework中的類很多對==進行了重載,例如String類的==與Equals的行為相同,判斷兩個字符串的內(nèi)容是否相等。所以在應用中,對于系統(tǒng)定義的引用類型建議不要使用==操作符,以免程序出現(xiàn)與預期不同的運營結(jié)果。Equals():?它對于值類型和引用類型的定義不同,對于值類型,類型相同,并且數(shù)值相同(對于struct的每個成員都必須相同),則Equals返回true,否則返回false。而對于引用類型,默認的行為與ReferenceEquals的行為相同,僅有兩個對象指向同一個Reference的時候才返回true??梢愿鶕?jù)需要對Equals進行重載,例如String類的Equals用于判斷兩個字符串的內(nèi)容是否相等。70.什么叫做SQL注入,如何防止?請舉例說明。答:運用sql語言漏洞獲得合法身份登陸系統(tǒng)。如身份驗證的程序設計成:SqlCommandcom=newSqlCommand("Select*fromuserswhereusername='"+t_name.text+"'andpwd='"+t_pwd.text+"'");objectobj=com.ExcuteScale();if(obj!=null){//通過驗證}這段代碼容易被sql注入。如用戶在t_name中隨便輸入,在t_pwd中輸入1'or1='1就可以進入系統(tǒng)了。可以采用參數(shù)化查詢語句進行防止。71.什么是反射?答:有關程序及其類型的數(shù)據(jù)被稱為元數(shù)據(jù)(metadata),它們保存在程序的程序集中。程序在運營時,可以查看其它程序集及其自身的元數(shù)據(jù),一個運營的程序查看自身及其它程序集的元數(shù)據(jù)的行為叫做反射(reflection)。72.用Singleton如何寫設計模式publicsealedclassSun{privatestat(yī)icSuninstance=null;privateSun(){}publicstaticSunInstance{get{returninstance==null?instance=newSun():instance;}}}73.什么是ApplicationPool?答:Web應用,類似ThreadPool,提高并發(fā)性能。74.什么是虛函數(shù)?什么是抽像函數(shù)?虛函數(shù):使它們可以在派生類中被重寫,它自身可以有函數(shù)的實現(xiàn)。抽像函數(shù):規(guī)定其非虛子類必須實現(xiàn)的函數(shù),必須被重寫,它自身不可有函數(shù)的實現(xiàn)。75.什么是XML?答:XML即可擴展標記語言(ExtensibleMarkupLanguage)。它是一種以簡樸文本格式存儲數(shù)據(jù)的方式,這意味著它可以被任何計算機讀取,它在.Net中執(zhí)行大量的任務,涉及描述應用程序的配置、在Web服務之間傳輸信息等。77.什么是ASP.net中的用戶控件?答:用戶控件是可以在其中放置標記和Web服務器控件的容器。然后,可以將用戶控件作為一個單元對待,為其定義屬性和方法。有了用戶控件,就不必為每個需要相同內(nèi)容的頁面多次創(chuàng)建用戶界面,編寫代碼,而只需要創(chuàng)建一個用戶控件,在幾個頁面中多次使用。78.列舉一下你所了解的XML技術及其應用答:xml用于配置,用于保存靜態(tài)數(shù)據(jù)類型.接觸XML最多的是webServices..和config,soap協(xié)議79.ADO.net中常用的對象有哪些?分別描述一下。提供者對象:Connection提供到數(shù)據(jù)源的基本連接。Command使用它對數(shù)據(jù)源發(fā)出命令。CommandBuilder此對象用于構(gòu)建Sql命令,在基于單一表查詢的對象中進行數(shù)據(jù)修改。DataReader這是一個快速而易用的對象,可以從數(shù)據(jù)源中讀取僅能前向和只讀的數(shù)據(jù)流。DataAdapter它是一個通用的類,可以執(zhí)行針對數(shù)據(jù)源的各種操作,涉及更新變動的數(shù)據(jù),填充DataSet對象以及其它操作。用戶對象:DataSet它表達一組相關表,在應用程序中這些表作為一個單元來引用。80.什么是code-Behind技術。答:Code-Behind技術也稱為代碼隱藏技術,在ASP.NET中通過ASPX頁面指向CS文獻的方法實現(xiàn)顯示邏輯和解決邏輯的分離,這樣有助于web應用程序的創(chuàng)建。比如分工,美工和編程的可以個干各的,不用再像以前asp那樣都代碼和html代碼混在一起,難以維護。81.什么是SOAP,有哪些應用。答:SOAP(SimpleObjectAccessProtocol)簡樸對象訪問協(xié)議,是在分散或分布式的環(huán)境中互換信息并執(zhí)行遠程過程調(diào)用的協(xié)議,是一個基于XML的協(xié)議。使用SOAP,不用考慮任何特定的傳輸協(xié)議(最常用的還是HTTP協(xié)議),可以允許任何類型的對象或代碼,在任何平臺上,以任何一種語言互相通信。這種互相通信采用的是XML格式的消息。82.C#中property與attribute的區(qū)別,他們各有什么用處,這種機制的好處在哪里?Attribute是Microsoft.NETFramework文獻的元數(shù)據(jù),可以用來向運營時描述你的代碼,或者在程序運營的時候影響應用程序的行為。Attribute是派生于System.Attribute類之下,它的重要作用是描述Property是面向?qū)ο缶幊痰幕靖拍?,提供了對私有字段的訪問封裝,在C#中以get和set訪問器方法實現(xiàn)對可讀可寫屬性的操作,提供了安全和靈活的數(shù)據(jù)訪問封裝。83.XML與HTML的重要區(qū)別XML是HTML的補充,而不是HTML的替代品,XML和HTML是兩種不同用途的語言。XML是被設計用來描述數(shù)據(jù)的,重點是:什么是數(shù)據(jù),如何存放數(shù)據(jù)。而HTML是被設計用來顯示數(shù)據(jù)的,重點是:顯示數(shù)據(jù)以及如何顯示數(shù)據(jù)更好上面。XML是自由的、可以擴展的,XML標記并不是預先規(guī)定好的,你必須發(fā)明你自XML標記并不是,而在HTML文檔中必須使用規(guī)則中定義好的標記。XML是區(qū)分大小寫字母的,HTML不區(qū)分。在HTML中,假如上下文清楚地顯示出段落或者列表鍵在何處結(jié)尾,那么你可以省略</p>或者</li>之類的結(jié)束標記。在XML中,絕對不能省略掉結(jié)束標記。在XML中,擁有單個標記而沒有匹配的結(jié)束標記的元素必須用一個/字符作為結(jié)尾。這樣分析器就知道不用查找結(jié)束標記了。在XML中,屬性值必須封裝在引號中。在HTML中,引號是可用可不用的。在HTML中,可以擁有不帶值的屬性名。在XML中,所有的屬性都必須帶有相應的值。84.c#中的三元運算符是?答:?:。85.當整數(shù)a賦值給一個object對像時,整數(shù)a將會被?答:裝箱。86.類成員有5種可訪問形式?87.publicstaticconstintA=1;這段代碼有錯誤么?是什么?答:const表現(xiàn)的很像靜態(tài)變量,它們對類的每個實例都是可見的,并且即使沒有類的實例它們也可以使用,而與靜態(tài)變量不同的是它沒有自己的存儲位置,而是在編譯時被編譯器替換,因此它不能聲明為Stat(yī)ic。88.floatf=-123.567F;inti=(int)f;i的值現(xiàn)在是-123將f的值強制轉(zhuǎn)換成int型,也就是將小數(shù)點后面的部分直接截取,保存整數(shù)部分。89.委托聲明的關鍵字是Delegat(yī)e。91.在Asp.net中所有的自定義用戶控件都必須繼承自Control。92.在.Net中所有可序列化的類都被標記為[Serializable]。93.在.Net托管代碼中我們不用緊張內(nèi)存漏洞,這是由于有了GC垃圾回收機制。94.下面的代碼中有什么錯誤嗎?_______usingSystem;classA{publicvirtualvoidF(){Console.WriteLine("A.F");}abstractclassB:A{publicabstractoverridevoidF();}答:abstractoverride是不可以一起修飾.95.當類T只聲明了私有實例構(gòu)造函數(shù)時,則在T的程序文本外部,不可以從T派生出新的類,由于子類無法調(diào)用父類的構(gòu)造函數(shù),不可以直接創(chuàng)建T的任何實例。96.Switch語句的格式switch(1+1){case1:Console.WriteLine("Wrong");break;case2:Console.WriteLine("right");break;default:Console.WriteLine("jiaoyanqing");break;}97.在.Net中,類System.Web.UI.Page可以被繼承么?答:可以。98..net的錯誤解決機制是什么?答:.net錯誤解決機制采用try->catch->finally結(jié)構(gòu),發(fā)生錯誤時,層層上拋,直到找到匹配的Catch為止。異常:它是程序中的運營時錯誤,它違反了一個系統(tǒng)約束或應用程序約束,或出現(xiàn)了在正常操作時未預料的情形,假如程序沒有提供解決該異常的代碼,系統(tǒng)會掛起這個程序。即使在Try塊中有Return語句,Finally塊也總是會在返回到調(diào)用代碼之前執(zhí)行。99.運用operator聲明且僅聲明了==,有什么錯誤么?答:要同時修改Equale和GetHash()?重載了"=="就必須重載"!="8.62-63=1等式不成立,請移動一個數(shù)字(不可以移動減號和等于號),使得等式成立,如何移動?答案:62移動成2的6次方105.對于這樣的一個枚舉類型:enumColor:byte{Red,Green,Blue,Orange};答:string[]ss=Enum.GetNames(typeof(Color));Arrayarray=Enum.GetValues(typeof(Color));107.C#可否對內(nèi)存進行直接

溫馨提示

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

最新文檔

評論

0/150

提交評論