.net基礎收集匯總
下面是我收集的一些題目以及答案(答案可能有些包含我自己的見解,如有錯誤請指出)。
1.面向對象的三大特性
封裝、繼承、多態(tài)
2.裝箱和拆箱
裝箱:值類型轉換為引用類型
拆箱:引用類型轉換為值類型
.NET中,數(shù)據(jù)類型劃分為值類型和引用(不等同于C++的指針)類型,與此對應,內存分配被分成了兩種方式,一為棧,二為堆,注意:是托管堆。
值類型只會在棧中分配。
引用類型分配內存與托管堆。
托管堆對應于垃圾回收。
3.C#可否對內存進行直接的操作?
可以,通過加一個unsafe關鍵字實現(xiàn)。
4.C#中結構和類的區(qū)別
機構和類具有大體的語法,結構受到的限制比類要多。結構不能聲明構造函數(shù)。結構是值類型,類是引用類型。結構的實例化可以不使用new關鍵字。類可以實現(xiàn)接口,結構不可以。
5.接口可否繼承接口?抽象類可否實現(xiàn)接口?抽象類可否繼承實體類?
(1)接口可以繼承接口
(2)抽象類可以實現(xiàn)接口
(3)抽象類可以繼承實體類,但是有個條件,實體類必須有明確的構造方法。
6.構造器Constructor是否可以被繼承?是否可以被重寫(Override)?
構造器不可以被繼承,因此不能被重寫,但可以被重載(overload)。
7.Error和Exception的區(qū)別
error 表示恢復不是不可能但很困難的情況下的一種嚴重問題。比如說內存溢出。不可能指望程序能處理這樣的情況; exception 表示一種設計或實現(xiàn)問題。也就是說,它表示如果程序運行正常,從不會發(fā)生的情況。
8.說說你對C#中的委托的理解
委托是一個類,它定義了方法的類型,使得可以將方法當作另一個方法的參數(shù)來進行傳遞,這種將方法動態(tài)地賦給參數(shù)的做法,可以避免在程序中大量使用If-Else(Switch)語句,同時使得程序具有更好的可擴展性。事件是一種消息機制,是一種委托,委托不帶方法體。
9.簡述反射與序列化
反射:其實就對程序集的動態(tài)操作,程序集包括了模塊,而模塊里面包含類型,類型又包含成員。反射提供了封裝程序集,模塊和類型的對象。
我們可以使用反射動態(tài)的創(chuàng)建類型的實例,將類型綁定到現(xiàn)有的對象,或者從現(xiàn)有對象中獲取類型,然后就可以調用類型的方法或訪問字段和屬性了。
序列化:簡單理解成把對象轉換為容易傳輸?shù)母袷降倪^程。比如,可以序列化一個對象,然后使用HTTP通過Internet在客戶端和服務器端之間傳輸該對象。
在另一端可以使用反序列化從該流重新構造對象。
10.C#中值類型和引用類型的區(qū)別
(1)值類型的數(shù)據(jù)存儲在內存的棧中;引用類型的數(shù)據(jù)存儲在內存的堆中,而內存單元中只存放堆中對象的地址。
(2)值類型存取速度快,引用類型存取速度慢。
(3)值類型表示實際數(shù)據(jù),引用類型表示指向存儲在內存堆中的數(shù)據(jù)的指針或引用
(4)值類型繼承自System.ValueType,引用類型繼承自System.Object
(5)棧的內存分配是自動釋放;而堆在.NET中會有GC來釋放
(6)值類型的變量直接存放實際的數(shù)據(jù),而引用類型的變量存放的則是數(shù)據(jù)的地址,即對象的引用。
歡迎補充……
11.談談你對三層架構的認識
(1)DAL:數(shù)據(jù)訪問層,直接對數(shù)據(jù)庫進行增刪改查。
(2)BLL:業(yè)務邏輯層,對數(shù)據(jù)業(yè)務的處理。
(3)UI:表現(xiàn)層,對處理過的數(shù)據(jù)展現(xiàn)給用戶。
優(yōu)點:體現(xiàn)面向對象編程的思想:高內聚低耦合,提高擴展性。
12. ado.net使用到哪些類?
SqlConnection、SqlDataAdaptor、DataSet、SqlCommand、SqlDataReader
13.SQL語句實現(xiàn)分頁:在表T中(有自增子段ID)查詢第31-40條記錄
select * from (select ROW_NUMBER() over (order by ID) as rowNum,* from T) as t where rowNum between 31 and 40
歡迎各位補充,希望這些對需要的人有點用。
相關文章
在Global.asax文件里實現(xiàn)通用防SQL注入漏洞程序(適應于post/get請求)
可使用Global.asax中的Application_BeginRequest(object sender, EventArgs e)事件來實現(xiàn)表單或者URL提交數(shù)據(jù)的獲取,獲取后傳給SQLInjectionHelper類ValidUrlData方法來完成檢查2013-01-01
ASP.NET Core根據(jù)環(huán)境變量支持多個 appsettings.json配置文件
這篇文章主要介紹了ASP.NET Core根據(jù)環(huán)境變量支持多個 appsettings.json配置文件,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-08-08
ASP.NET對路徑"xxxxx"的訪問被拒絕的解決方法小結
異常詳細信息: System.UnauthorizedAccessException: 對路徑“D:/temp1/MyTest.txt”的訪問被拒絕2012-09-09

