




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、1、 簡述 private、 protected、 public、 internal 修飾符的訪問權(quán)限 答案: private : 私有成員, 在類的內(nèi)部才可以訪問。 protected : 保護成員,該類內(nèi)部和繼承類中可以訪問。 public : 公共成員,完全公開,沒有訪問限制。 當前internal:當前程序集內(nèi)可以訪問。2、ADO.NET中的五個主要對象 答案:Connection:主要是開啟程序和數(shù)據(jù)庫之間的連接。沒有利用連接對象將數(shù)據(jù)庫打開,是無法從數(shù)據(jù)庫中取得數(shù)據(jù)的。Command:主要可以用來對數(shù)據(jù)庫發(fā)出一些指令,例如可以對數(shù)據(jù)庫下
2、達查詢、新增、修改、刪除數(shù)據(jù)等指令,以及調(diào)用存在數(shù)據(jù)庫中的存儲過程等。這個對象是架構(gòu)在Connection 對象上,也就是Command 對象是透過連接到數(shù)據(jù)源。DataAdapter:主要是在數(shù)據(jù)源以及DataSet 之間執(zhí)行數(shù)據(jù)傳輸?shù)墓ぷ?,它可以透過Command 對象下達命令后,并將取得的數(shù)據(jù)放入DataSet 對象中。這個對象是架構(gòu)在Command對象上,并提供了許多配合DataSet 使用的功能。DataSet:這個對象可以視為一個暫存區(qū)(Cache),可以把從數(shù)據(jù)庫中所查詢到的數(shù)據(jù)保留起來,甚至可以將整個數(shù)據(jù)庫顯示出來,DataSet是放在內(nèi)存中的。DataSet 的能力不只是可以
3、儲存多個Table 而已,還可以透過DataAdapter對象取得一些例如主鍵等的數(shù)據(jù)表結(jié)構(gòu),并可以記錄數(shù)據(jù)表間的關(guān)聯(lián)。DataSet 對象可以說是ADO.NET 中重量級的對象,這個對象架構(gòu)在DataAdapter對象上,本身不具備和數(shù)據(jù)源溝通的能力;也就是說我們是將DataAdapter對象當做DataSet 對象以及數(shù)據(jù)源間傳輸數(shù)據(jù)的橋梁。DataSet包含若干DataTable、DataTableTable包含若干DataRow。DataReader:當我們只需要循序的讀取數(shù)據(jù)而不需要其它操作時,可以使用DataReader 對象。DataReader對象只是一次一筆向下循序的讀取數(shù)據(jù)
4、源中的數(shù)據(jù),這些數(shù)據(jù)是存在數(shù)據(jù)庫服務器中的,而不是一次性加載到程序的內(nèi)存中的,只能(通過游標)讀取當前行的數(shù)據(jù),而且這些數(shù)據(jù)是只讀的,并不允許作其它的操作。因為DataReader 在讀取數(shù)據(jù)的時候限制了每次只讀取一筆,而且只能只讀,所以使用起來不但節(jié)省資源而且效率很好。使用DataReader 對象除了效率較好之外,因為不用把數(shù)據(jù)全部傳回,故可以降低網(wǎng)絡的負載。ADO.NET 使用Connection 對象來連接數(shù)據(jù)庫,使用Command 或DataAdapter對象來執(zhí)行SQL語句,并將執(zhí)行的結(jié)果返回給DataReader 或 DataAdapter ,然后再使用取得的DataReader
5、 或DataAdapter 對象操作數(shù)據(jù)結(jié)果。 3、列舉ASP.NET頁面之間傳遞值的幾種方式。 答案: 1.使用QueryString, 如.?id=1; response. Redirect(). 2.使用Session變量 3.使用Server.Transfer4.Cookie傳值5.Application傳值 4、C#中的委托是什么?事件是不是一種委托?事件和委托的關(guān)系。 答案:委托可以把一個方法作為參數(shù)代入另一個方法。委托可以理解為指向一個函數(shù)的指針。委托和事件沒有可比性,因為委托是類型,事件是對象,下面說的是委托的對象(用委托方式實現(xiàn)的事件)和(標準
6、的event方式實現(xiàn))事件的區(qū)別。事件的內(nèi)部是用委托實現(xiàn)的。因為對于事件來講,外部只能“注冊自己+=、注銷自己-=”,外界不可以注銷其他的注冊者,外界不可以主動觸發(fā)事件,因此如果用Delegate就沒法進行上面的控制,因此誕生了事件這種語法。事件是用來閹割委托實例的,類比用一個自定義類閹割List。事件只能add、remove自己,不能賦值。事件只能+=、-=,不能=。加分的補充回答:事件內(nèi)部就是一個private的委托和add、remove兩個方法。5、override與重載(overload)的區(qū)別 答案:重載是方法的名稱相同。參數(shù)或參數(shù)類型不同,進行多次重載以適應不同的需要。重
7、載(overload)是面向過程的概念。Override 是進行基類中函數(shù)的重寫。Override是面向?qū)ο蟮母拍?、C#中索引器是否只能根據(jù)數(shù)字進行索引?是否允許多個索引器參數(shù)?提示:(傳智播客.net培訓中講解設計模式中開發(fā)的SettingsProvider就是用的string類型的參數(shù)名做索引器參數(shù)。)答案:參數(shù)的個數(shù)和類型都是任意的。加分的補充回答:用reflector反編譯可以看出,索引器的內(nèi)部本質(zhì)上就是set_item、get_item方法。加分的補充回答:回答傳智 播客.net培訓中講解設計模式中開發(fā)的SettingsProvider就是用的string類型的參數(shù)名做索引器參數(shù)。
8、7、屬性和public字段的區(qū)別是什么?提示:傳智播客.net培訓視頻中串講.net基礎(chǔ)的部分答案:屬性可以對設值、取值的過程進行非法值控制,比如年齡禁止設值負數(shù),而字段則不能進行這樣的設置。雖然一般情況下get讀取的值就是set設置的值,但是可以讓get讀取的值不是set設置的值的,極端的例子。Public Agegetreturn 100;set。加分的補充回答:用reflector反編譯可以看出,屬性內(nèi)部本質(zhì)上就是set_*、get_*方法,詳細參考傳智播客.net培訓視頻中串講.net基礎(chǔ)的部分。8、三層架構(gòu)答案:通常意義上的三層架構(gòu)就是將整個業(yè)務應用劃分為:表現(xiàn)層(UI)、業(yè)務邏輯層
9、(BLL)、數(shù)據(jù)訪問層(DAL)。區(qū)分層次的目的即為了“高內(nèi)聚,低耦合”的思想。表現(xiàn)層(UI):通俗講就是展現(xiàn)給用戶的界面,即用戶在使用一個系統(tǒng)的時候的所見所得。業(yè)務邏輯層(BLL):針對具體問題的操作,也可以說是對數(shù)據(jù)層的操作,對數(shù)據(jù)業(yè)務邏輯處理。數(shù)據(jù)訪問層(DAL):該層所做事務直接操作數(shù)據(jù)庫,針對數(shù)據(jù)的增添、刪除、修改、更新、查找等每層之間是一種垂直的關(guān)系。三層結(jié)構(gòu)是N層結(jié)構(gòu)的一種,一般來說,層次之間是向下依賴的,下層代碼未確定其接口(契約)前,上層代碼是無法開發(fā)的,下層代碼接口(契約)的變化將使上層的代碼一起變化。優(yōu)點: 分工明確,條理清晰,易于調(diào)試,而且具有可擴展性。 缺點: 增加成
10、本。9、MVC模式 (*)答案:MVC(Model View Controller)模型視圖控制器MVC是典型的平行關(guān)系,沒有說誰在上誰在下的關(guān)系,模型負責業(yè)務領(lǐng)域的事情,視圖負責顯示的事情,控制器把數(shù)據(jù)讀取出來填充模型后把模型交給視圖去處理。而各種驗證什么的應該是在模型里處理了。它強制性的使應用程序的輸入、處理和輸出分開。MVC最大的好處是將邏輯和頁面分離。 10、什么是裝箱(boxing)和拆箱(unboxing)? (*)答案:裝箱:從值類型接口轉(zhuǎn)換到引用類型。 拆箱:從引用類型轉(zhuǎn)換到值類型。1、 什么叫應用程序域(AppDomain) (*)?答案:一種邊界,它由公共語言運行庫圍繞同一
11、應用程序范圍內(nèi)創(chuàng)建的對象建立(即,從應用程序入口點開始,沿著對象激活的序列的任何位置)。應用程序域有助于將在一個應用程序中創(chuàng)建的對象與在其他應用程序中創(chuàng)建的對象隔離,以使運行時行為可以預知。在一個單獨的進程中可以存在多個應用程序域。應用程序域可以理解為一種輕量級進程。起到安全的作用。占用資源小。2、 CTS、CLS、CLR分別作何解釋(*)?答案:CTS:Common Type System 通用系統(tǒng)類型。CLS:Common Language Specification 通用語言規(guī)范。CLR:Common Language Runtime 公共語言運行庫。3、 在dotnet中類(class
12、)與結(jié)構(gòu)(struct)的異同?答案:Class可以被實例化,屬于引用類型,是分配在內(nèi)存的堆上的。類是引用傳遞的。Struct屬于值類型,是分配在內(nèi)存的棧上的。結(jié)構(gòu)體是復制傳遞的。加分的回答:Int32、Boolean等都屬于結(jié)構(gòu)體。4、 堆和棧的區(qū)別?答案:棧是編譯期間就分配好的內(nèi)存空間,因此你的代碼中必須就棧的大小有明確的定義;局部值類型變量、值類型參數(shù)等都在棧內(nèi)存中。堆是程序運行期間動態(tài)分配的內(nèi)存空間,你可以根據(jù)程序的運行情況確定要分配的堆內(nèi)存的大小。 5、能用foreach遍歷訪問的對象的要求? 答案:需要實現(xiàn)IEnumera
13、ble接口或聲明GetEnumerator方法的類型。5、 GC是什么? 為什么要有GC? 答案:GC是圾收集器。程序員不用擔心內(nèi)存管理,因為垃圾收集器會自動進行管理。GC只能處理托管內(nèi)存資源的釋放,對于非托管資源則不能使用GC進行回收,必須由程序員手工回收,一個例子就是FileStream或者SqlConnection需要程序員調(diào)用Dispose進行資源的回收。要請求垃圾收集,可以調(diào)用下面的方法:GC.Collection()一般不需要手動調(diào)用GC.Collection()。加分的回答:有一次用OLEAutomation的方式操作Excel的時候,Excel經(jīng)常不能正常
14、退出,在MSDN網(wǎng)站上找到官方解答說要調(diào)用一下GC.Collection(),至于為什么這樣就可以也沒找到答案。6、 String s = new String("xyz");創(chuàng)建了幾個String Object? 答案:兩個對象,一個是“xyx”,一個是指向“xyx”的引用對象。 8、值類型和引用類型的區(qū)別?答案:1.將一個值類型變量賦給另一個值類型變量時,將復制包含的值。引用類型變量的賦值只復制對對象的引用,而不復制對象本身。2.值類型不可能派生出新的類型:所有的值類型均隱式派生自 System.ValueType。但與引用類型相同的是,結(jié)構(gòu)也可以實現(xiàn)接口。3
15、.值類型不可能包含 null 值:然而,可空類型功能允許將 null 賦給值類型。 4.每種值類型均有一個隱式的默認構(gòu)造函數(shù)來初始化該類型的默認值。 9、C#中的接口和類有什么異同?答案:不同點:不能直接實例化接口。接口不包含方法的實現(xiàn)。接口可以多繼承,類只能單繼承。類定義可在不同的源文件之間進行拆分。相同點:接口、類和結(jié)構(gòu)都可以從多個接口繼承。接口類似于抽象基類:繼承接口的任何非抽象類型都必須實現(xiàn)接口的所有成員。接口和類都可以包含事件、索引器、方法和屬性。 10、abstract class和interface有什么區(qū)別? 答案:相同點: 都不能被直接實例化,都可以通過繼承實現(xiàn)其抽
16、象方法。 都是面向抽象編程的技術(shù)基礎(chǔ),實現(xiàn)了諸多的設計模式。不同點: 接口支持多繼承;抽象類不能實現(xiàn)多繼承。 接口只能定義抽象規(guī)則;抽象類既可以定義規(guī)則,還可能提供已實現(xiàn)的成員。 接口是一組行為規(guī)范;抽象類是一個不完全的類,著重族的概念。接口可以用于支持回調(diào)(CallBack);抽象類不能實現(xiàn)回調(diào),因為繼承不支持。 接口只包含方法(Method)、屬性(Property)、索引器(Index)、事件(Event)的簽名,但不能定義字段和包含實現(xiàn)的方法;抽象類可以定義字段、屬性、包含有實現(xiàn)的方法。 接口可以作用于值類型(Struct)和引用類型(Class);抽象類只能作用
17、于引用類型。例如,Struct就可以繼承接口,而不能繼承類。1、 是否可以繼承String類? String類是sealed類故不可以繼承。 2、try 里有一個return語句,那么緊跟在這個try后的finally 里的code會不會被執(zhí)行,什么時候被執(zhí)行? 會執(zhí)行,在return前執(zhí)行。2、 new 關(guān)鍵字用法?(*new 運算符 用于創(chuàng)建對象和調(diào)用構(gòu)造函數(shù)。new 修飾符 用于向基類成員隱藏繼承成員。new 約束 用于在泛型聲明中約束可能用作類型參數(shù)的參數(shù)的類型。3、 如
18、何把一個Array復制到ArrayList里?(*)提示:“new ArrayList”實現(xiàn)1 string s = "111", "22222" ; ArrayList list = new ArrayList(); list.AddRange(s);實現(xiàn)2 string s = "111", "22222" ; ArrayList list = new ArrayList(s); 5、描述線程與進程的區(qū)別?(*)1.線程(Thread)與進程(Process)二者都定義了某種邊界,不同的是進程定義的是
19、應用程序與應用程序之間的邊界,不同的進程之間不能共享代碼和數(shù)據(jù)空間,而線程定義的是代碼執(zhí)行堆棧和執(zhí)行上下文的邊界。2.一個進程可以包括若干個線程,同時創(chuàng)建多個線程來完成某項任務,便是多線程。而同一進程中的不同線程共享代碼和數(shù)據(jù)空間。用一個比喻來說,如果一個家庭代表一個進程,在家庭內(nèi)部,各個成員就是線程,家庭中的每個成員都有義務對家庭的財富進行積累,同時也有權(quán)利對家庭財富進行消費,當面對一個任務的時候,家庭也可以派出幾個成員來協(xié)同完成,而家庭之外的人則沒有辦法直接消費不屬于自己家庭的財產(chǎn)。6、什么是強類型,什么是弱類型?哪種更好些?為什么? 強類型是在編譯的時候就確定類型的數(shù)據(jù),在執(zhí)行時類型不能更改,而弱類型在執(zhí)行的時候才會確定類型。沒有好不好,二者各有好處,強類型安全,因為它事先已經(jīng)確定好了,而且效率高。弱類型更靈活,但是效率低,而且出錯概率高一般用于編譯型編程語言,如c+,java,c#,pascal等,弱類型相比而言不安全,在運行的時候容易出現(xiàn)錯誤,但它靈活,多用于解釋型編程語言,如java
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025屆山東省臨沭縣青云鎮(zhèn)中心中學英語七年級第二學期期中檢測試題含答案
- 2025年生態(tài)修復植被重建技術(shù)在城市生態(tài)修復生態(tài)效益分析中的應用報告
- 2025年智慧港口自動化裝卸設備產(chǎn)業(yè)政策解讀報告
- 2025年元宇宙社交平臺虛擬社交平臺穩(wěn)定性與用戶體驗分析報告
- 2025年智能制造專項補貼資金申請政策解讀與應用報告
- 2025年工業(yè)互聯(lián)網(wǎng)軟件定義網(wǎng)絡SDN在智能電網(wǎng)調(diào)度優(yōu)化報告
- 2025年醫(yī)藥企業(yè)市場拓展策略與品牌建設報告
- 零售私域流量運營與用戶參與度提升策略優(yōu)化報告001
- 再障的護理課件模板
- 2025年互聯(lián)網(wǎng)金融科技服務平臺在金融科技創(chuàng)新競賽中的案例分析報告
- 醫(yī)療器械市場調(diào)整與價格波動對策
- 髖關(guān)節(jié)假體松動查房
- 【基于單片機的超速報警器的電路設計6100字(論文)】
- 鼠疫介紹演示培訓課件
- 固體地球物理學概論
- 浮針療法課件
- 園林綠化工程施工技術(shù)方案及技術(shù)措施
- “安全生產(chǎn)課件:如何預防工傷事故”
- 14天攻克KET詞匯表
- 簡易精神狀態(tài)檢查量表(MMSE)
- 《教育學原理》馬工程教材第二章教育與社會發(fā)展
評論
0/150
提交評論