C sharp (net)面試題大全_第1頁(yè)
C sharp (net)面試題大全_第2頁(yè)
C sharp (net)面試題大全_第3頁(yè)
C sharp (net)面試題大全_第4頁(yè)
C sharp (net)面試題大全_第5頁(yè)
已閱讀5頁(yè),還剩51頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、1 (1)面向?qū)ο蟮恼Z(yǔ)言具有_繼承性_性、_封裝性_性、_多態(tài)性 性。(2)能用foreach遍歷訪(fǎng)問(wèn)的對(duì)象需要實(shí)現(xiàn) _ IEnumerable 接口或聲明_ GetEnumerator 方法的類(lèi)型。1.c#中的三元運(yùn)算符是_?:_2.當(dāng)整數(shù)a賦值給一個(gè)object對(duì)象時(shí),整數(shù)a將會(huì)被_裝箱_?3.類(lèi)成員有_3_種可訪(fǎng)問(wèn)形式?4.public static const int A=1;這段代碼有錯(cuò)誤么?是什么? const成員都是static所以應(yīng)該去掉static5.float f=-123.567F;int i=(int)f;i的值現(xiàn)在是_-123_?6.利用operator聲明且僅聲明了

2、=,有什么錯(cuò)誤么? 要同時(shí)修改Equale和GetHash() ? 重載了"=" 就必須重載 "!="7.委托聲明的關(guān)鍵字是_ delegate _?8.用sealed修飾的類(lèi)有什么特點(diǎn)?不可被繼承9.在A(yíng)中所有的自定義用戶(hù)控件都必須繼承自_ System.Web.UI.UserControl _?10.在.Net中所有可序列化的類(lèi)都被標(biāo)記為_(kāi)serializable_?11.在.Net托管代碼中我們不用擔(dān)心內(nèi)存漏洞,這是因?yàn)橛辛薩 gC _?12.下面的代碼中有什么錯(cuò)誤嗎?_ abstract override 是不可以一起修飾_using Syste

3、m;class Apublic virtual void F()Console.WriteLine("A.F");abstract class B:Apublic abstract override void F();13.當(dāng)類(lèi)T只聲明了私有實(shí)例構(gòu)造函數(shù)時(shí),則在T的程序文本外部,_不可以_(可以 or 不可以)從T派生出新的類(lèi),_不可以_(可以 or 不可以)直接創(chuàng)建T的任何實(shí)例。14.下面這段代碼有錯(cuò)誤么?case():不行default;switch (i)case():CaseZero();break;case 1:CaseOne();break;case 2:duf

4、ault;CaseTwo();break;15.在.Net中,類(lèi)System.Web.UI.Page 可以被繼承么?可以2. 不定項(xiàng)選擇:(1) 以下敘述正確的是: B CA. 接口中可以有虛方法。B. 一個(gè)類(lèi)可以實(shí)現(xiàn)多個(gè)接口。 C. 接口不能被實(shí)例化。 D. 接口中可以包含已實(shí)現(xiàn)的方法.(2) 從數(shù)據(jù)庫(kù)讀取記錄,你可能用到的方法有:B C D A. ExecuteNonQuery B. ExecuteScalar C. Fill D. ExecuteReader2.對(duì)于一個(gè)實(shí)現(xiàn)了IDisposable接口的類(lèi),以下哪些項(xiàng)可以執(zhí)行與釋放或重置非托管資源相關(guān)的應(yīng)用程序定義的任務(wù)?(多選) ( A

5、BC ) A.Close B.Dispose C.Finalize D.using E.Quit 3.以下關(guān)于ref和out的描述哪些項(xiàng)是正確的?(多選) ( ACD ) A.使用ref參數(shù),傳遞到ref參數(shù)的參數(shù)必須最先初始化。 B.使用out參數(shù),傳遞到out參數(shù)的參數(shù)必須最先初始化。 C.使用ref參數(shù),必須將參數(shù)作為ref參數(shù)顯式傳遞到方法。 D.使用out參數(shù),必須將參數(shù)作為out參數(shù)顯式傳遞到方法。 1.在對(duì)SQL Server 數(shù)據(jù)庫(kù)操作時(shí)應(yīng)選用(A)。a)SQL Server .NET Framework 數(shù)據(jù)提供程序;b)OLE DB .NET Framework 數(shù)據(jù)提供程

6、序;c)ODBC .NET Framework 數(shù)據(jù)提供程序;d)Oracle .NET Framework數(shù)據(jù)提供程序;2.下列選項(xiàng)中,(C)是引用類(lèi)型。a)enum類(lèi)型 b)struct類(lèi)型 c)string類(lèi)型 d)int類(lèi)型3.關(guān)于A(yíng)SP.NET中的代碼隱藏文件的描述正確的是(C)a)Web窗體頁(yè)的程序的邏輯由代碼組成,這些代碼的創(chuàng)建用于與窗體交互。編程邏輯唯一與用戶(hù)界面不同的文件中。該文件稱(chēng)作為“代碼隱藏”文件,如果用C創(chuàng)建,該文件將具有“.ascx.cs”擴(kuò)展名。b)項(xiàng)目中所有Web窗體頁(yè)的代碼隱藏文件都被編譯成.EXE文件。c)項(xiàng)目中所有的Web窗體頁(yè)的代碼隱藏文件都被編譯成項(xiàng)目

7、動(dòng)態(tài)鏈接庫(kù)(.dll)文件。d)以上都不正確。 4.以下描述錯(cuò)誤的是(A)a)在C+中支持抽象類(lèi)而在C#中不支持抽象類(lèi)。b)C+中可在頭文件中聲明類(lèi)的成員而在CPP文件中定義類(lèi)的成員,在C#中沒(méi)有頭文件并且在同一處聲明和定義類(lèi)的成員。c)在C#中可使用 new 修飾符顯式隱藏從基類(lèi)繼承的成員。d)在C#中要在派生類(lèi)中重新定義基類(lèi)的虛函數(shù)必須在前面加Override。5.C#的數(shù)據(jù)類(lèi)型有(A)a)值類(lèi)型和調(diào)用類(lèi)型; b)值類(lèi)型和引用類(lèi)型;c)引用類(lèi)型和關(guān)系類(lèi)型;d)關(guān)系類(lèi)型和調(diào)用類(lèi)型;6.下列描述錯(cuò)誤的是(D)a)類(lèi)不可以多重繼承而接口可以;b)抽象類(lèi)自身可以定義成員而接口不可以;c)抽象類(lèi)和接

8、口都不能被實(shí)例化;d)一個(gè)類(lèi)可以有多個(gè)基類(lèi)和多個(gè)基接口;7.在DOM中,裝載一個(gè)XML文檔的方法(D)a)save方法 b)load方法 c)loadXML方法 d)send方法8.下列關(guān)于構(gòu)造函數(shù)的描述正確的是(C)a)構(gòu)造函數(shù)可以聲明返回類(lèi)型。b)構(gòu)造函數(shù)不可以用private修飾c)構(gòu)造函數(shù)必須與類(lèi)名相同d)構(gòu)造函數(shù)不能帶參數(shù)9.以下是一些C#中的枚舉型的定義,其中錯(cuò)誤的用法有()a)public enum var1 Mike = 100, Nike = 102, Jike b)public enum var1 Mike = 100, Nike, Jike c)public enum v

9、ar1 Mike=-1 , Nike, Jike d)public enum var1 Mike , Nike , Jike 10.int myArray3=new int3new int35,6,2,new int56,9,7,8,3,new int23,2; myArray322的值是(D)。a)9 b)2 c)6 d)越界11.接口是一種引用類(lèi)型,在接口中可以聲明(A),但不可以聲明公有的域或私有的成員變量。a)方法、屬性、索引器和事件; b)方法、屬性信息、屬性; c)索引器和字段; d)事件和字段;12.ASP.NET框架中,服務(wù)器控件是為配合Web表單工作而專(zhuān)門(mén)設(shè)計(jì)的。服務(wù)器控件有

10、兩種類(lèi)型,它們是(A )a)HTML控件和Web控件 b)HTML控件和XML控件 c)XML控件和Web控件 d)HTML控件和IIS控件13.ASP.NET中,在Web窗體頁(yè)上注冊(cè)一個(gè)用戶(hù)控件,指定該控件的名稱(chēng)為”Mike”,正確的注冊(cè)指令為( D)a)<%Register TagPrefix = “Mike” TagName = “Space2” Src = “myX.ascx”%>b)<%Register TagPrefix = “Space2” TagName = “Mike” Src = “myX.ascx”%>c)<%Register TagPref

11、ix = “SpaceX” TagName = “Space2” Src = “Mike”%>d)以上皆非14.在A(yíng)DO.NET中,對(duì)于Command對(duì)象的ExecuteNonQuery()方法和ExecuteReader()方法,下面敘述錯(cuò)誤的是(C)。a)insert、update、delete等操作的Sql語(yǔ)句主要用ExecuteNonQuery()方法來(lái)執(zhí)行;b)ExecuteNonQuery()方法返回執(zhí)行Sql語(yǔ)句所影響的行數(shù)。c)Select操作的Sql語(yǔ)句只能由ExecuteReader()方法來(lái)執(zhí)行;d)ExecuteReader()方法返回一個(gè)DataReder對(duì)象;

12、15.下列ASP.NET語(yǔ)句(b)正確地創(chuàng)建了一個(gè)與SQL Server 2000數(shù)據(jù)庫(kù)的連接。a)SqlConnection con1 = new Connection(“Data Source = localhost; Integrated Security = SSPI; Initial Catalog = myDB”);b)SqlConnection con1 = new SqlConnection(“Data Source = localhost; Integrated Security = SSPI; Initial Catalog = myDB”);c)SqlConnection

13、 con1 = new SqlConnection(Data Source = localhost; Integrated Security = SSPI; Initial Catalog = myDB);d)SqlConnection con1 = new OleDbConnection(“Data Source = localhost; Integrated Security = SSPI; Initial Catalog = myDB”);16.Winform中,關(guān)于ToolBar控件的屬性和事件的描述不正確的是(D)。a)Buttons屬性表示ToolBar控件的所有工具欄按鈕b)Bu

14、ttonSize屬性表示ToolBar控件上的工具欄按鈕的大小,如高度和寬度c)DropDownArrows屬性表明工具欄按鈕(該按鈕有一列值需要以下拉方式顯示)旁邊是否顯示下箭頭鍵d)ButtonClick事件在用戶(hù)單擊工具欄任何地方時(shí)都會(huì)觸發(fā)17.在A(yíng)DO.NET中執(zhí)行一個(gè)存儲(chǔ)過(guò)程時(shí),如果要設(shè)置輸出參數(shù)則必須同時(shí)設(shè)置參數(shù)的方向和(B ),必要時(shí)還要設(shè)置參數(shù)尺寸。a)大小; b)上限; c)初始值; d)類(lèi)型;18.如果將窗體的FormBoderStyle設(shè)置為None,則( B)。a)窗體沒(méi)有邊框并不能調(diào)整大小; b)窗體沒(méi)有邊框但能調(diào)整大?。籧)窗體有邊框但不能調(diào)整大?。?d)窗體是透明

15、的;19.如果要將窗體設(shè)置為透明的,則( B)a)要將FormBoderStyle屬性設(shè)置為None; b)要將Opacity屬性設(shè)置為小于100%得值;c)要將locked 屬性設(shè)置為T(mén)rue; d)要將 Enabled屬性設(shè)置為T(mén)rue; 20.下列關(guān)于C#中索引器理解正確的是(B/C )a)索引器的參數(shù)必須是兩個(gè)或兩個(gè)以上 b)索引器的參數(shù)類(lèi)型必須是整數(shù)型c)索引器沒(méi)有名字 d)以上皆非21.下面描述錯(cuò)誤的是( C/D)。a)窗體也是控件; b)窗體也是類(lèi); c)控件是從窗體繼承來(lái)的; d)窗體的父類(lèi)是控件類(lèi);22.要對(duì)注冊(cè)表進(jìn)行操作則必須包含( D)。a)System.Componen

16、tModel命名空間; b)System.Collections命名空間;c)System.Threading命名空間; d)Microsoft.Win32命名空間;23.要?jiǎng)?chuàng)建多文檔應(yīng)用程序,需要將窗體的(D )屬性設(shè)為true。a)DrawGrid; b)ShowInTaskbar; c)Enabled; d)IsMdiContainer;24.如果設(shè)treeView1=new TreeView(),則treeView1.Nodes.Add("根節(jié)點(diǎn)")返回的是一個(gè) ()類(lèi)型的值。a)TreeNode;b)int;c)string;d)TreeView;25.下面關(guān)于X

17、ML的描述錯(cuò)誤的是(D)。a)XML提供一種描述結(jié)構(gòu)化數(shù)據(jù)的方法;b)XML 是一種簡(jiǎn)單、與平臺(tái)無(wú)關(guān)并被廣泛采用的標(biāo)準(zhǔn);c)XML文檔可承載各種信息;d)XML只是為了生成結(jié)構(gòu)化文檔;1.裝箱、拆箱操作發(fā)生在: ( C )A.類(lèi)與對(duì)象之間 B.對(duì)象與對(duì)象之間C.引用類(lèi)型與值類(lèi)型之間 D.引用類(lèi)型與引用類(lèi)型之間2.用戶(hù)類(lèi)若想支持Foreach語(yǔ)句需要實(shí)現(xiàn)的接口是: ( A )A.IEnumerableB.IEnumeratorC.ICollectionD.ICollectData3.Net Framework通過(guò)什么與COM組件進(jìn)行交互操作?( C )A.Side By Side B.Web S

18、erviceC.Interop D.PInvoke4.Net依靠以下哪一項(xiàng)技術(shù)解決COM存在的Dll Hell問(wèn)題的?( A )A.Side By SideB.InteropC.PInvokeD.COM+5.裝箱與拆箱操作是否是互逆的操作?( B )A.是B.否 6.以下哪個(gè)是可以變長(zhǎng)的數(shù)組?( D )A.Array B.stringC.stringN D.ArrayList7.用戶(hù)自定義異常類(lèi)需要從以下哪個(gè)類(lèi)繼承:( A )A.Exception B.CustomExceptionC.ApplicationException D.BaseException1.面向?qū)ο蟮乃枷胫饕ㄊ裁??繼承

19、 多態(tài) 封裝2.什么是ASP.net中的用戶(hù)控件用戶(hù)控件就是.ascx,復(fù)合控件就是.DLL 3.什么叫應(yīng)用程序域?什么是受管制的代碼?什么是強(qiáng)類(lèi)型系統(tǒng)?什么是裝箱和拆箱?什么是重載?CTS、CLS和CLR分別作何解釋?zhuān)恳粋€(gè)進(jìn)程可以有N個(gè)DOMAIN,一個(gè)DOMAIN可以有N個(gè)程序集,他主要功用是分割程序的,受管枝代碼就是有CLR公共語(yǔ)言運(yùn)行時(shí)控制的代碼!這樣的代碼是類(lèi)型安全的,強(qiáng)類(lèi)型就是有類(lèi)型約束的比如說(shuō)強(qiáng)類(lèi)型DATASET,裝箱就是把值類(lèi)型裝成引用類(lèi)型,拆箱反之,重載在同一個(gè)類(lèi)中相同方法名不同參數(shù),CLR是公共語(yǔ)言運(yùn)行時(shí),CTS是通用類(lèi)型系統(tǒng), CLS我不知道 4.列舉一下你所了解的XML

20、技術(shù)及其應(yīng)用XML用的地方太多了如果非要說(shuō)一個(gè)就說(shuō)WEBSERVICE或AJAX這些東西火!說(shuō)了老板開(kāi)心 5.值類(lèi)型和引用類(lèi)型的區(qū)別?寫(xiě)出C#的樣例代碼。值類(lèi)型存在內(nèi)存棧里面,引用類(lèi)型存在內(nèi)存堆里面,代碼我沒(méi)空寫(xiě) 6.ADO.net中常用的對(duì)象有哪些?分別描述一下。ADO.NET里面的對(duì)象海了去了這里就說(shuō)SQL系列的(OLEDB和ODBC系列不說(shuō)了)SQLCONNECTION,SQLCOMMAND,SQLADAPTER,SQLPARAMETER,DATASET也算一個(gè),至于用法地球人都知道 7.如何理解委托?委托的正確理解就是函數(shù)指針 8.C#中的接口和類(lèi)有什么異同。接口只提供規(guī)則沒(méi)有實(shí)現(xiàn),接

21、口可以多繼承,類(lèi)不行 9.。net中讀寫(xiě)數(shù)據(jù)庫(kù)需要用到哪些類(lèi)?他們的作用datareader dataset 還有一個(gè)不太常用10.UDP連接和TCP連接的異同。UDP是無(wú)連接狀態(tài)的,TCP是有狀態(tài)的這個(gè)才是他們的根本區(qū)別,也就是說(shuō)TCP比UDP可靠11.ASP.net的身份驗(yàn)證方式有哪些?分別是什么原理?ASP.NET驗(yàn)證有WINDOWS嚴(yán)整,FORM驗(yàn)證,PASSPORT驗(yàn)證,WINDOWS一般在做企業(yè)內(nèi)部OA的時(shí)候用的多一些,FORM一般是做網(wǎng)站用的多他是采用COOKIE機(jī)制來(lái)實(shí)現(xiàn)的,PASSPORT是微軟提供的一個(gè)WEBSERVICE 12.進(jìn)程和線(xiàn)程分別怎么理解?進(jìn)程就是一個(gè)程序?qū)嵗?/p>

22、,而線(xiàn)程可以理解為功能實(shí)例!也就是說(shuō)進(jìn)程包含線(xiàn)程13.什么是code-Behind技術(shù)。代碼后制!地球人都知道!.ASPX頁(yè)面其實(shí)是個(gè)繼承與.CS文件類(lèi)的類(lèi)14.活動(dòng)目錄的作用?;顒?dòng)目錄就是分布試環(huán)境目錄服務(wù),作用就是分布試應(yīng)用程序的中心!它記錄程序各個(gè)部分的信息等等中讀寫(xiě)XML的類(lèi)都?xì)w屬于哪些命名空間?SYSTEM.XML和SYSTEM.DATA 16.解釋一下UDDI、WSDL的意義及其作用。UDDI說(shuō)白了就是我們生活中114查號(hào)臺(tái),WSDL就是這個(gè)服務(wù)的說(shuō)明書(shū)17.什么是SOAP,有哪些應(yīng)用。SOAP是簡(jiǎn)單傳輸協(xié)議用處想牛毛一樣多!非要說(shuō)一個(gè)就說(shuō)WEBSERVICE或開(kāi)發(fā)REMOTING

23、程序用18.如何部署一個(gè)ASP.net頁(yè)面。部置一個(gè)頁(yè)面. 也就是說(shuō)沒(méi)有代碼是直接寫(xiě)在aspx中的了.只接放在IIS的虛擬目錄下就行了.當(dāng)然要支持19.如何理解.net中的垃圾回收機(jī)制。垃圾回收器!至于機(jī)制就是GC在CPU空閑或內(nèi)存緊張的時(shí)候檢查變量是否在下文中出現(xiàn)如果不出現(xiàn)就回收20.常用的調(diào)用webservice方法有哪些?WEBSERVICE可以在服務(wù)端使用.NET調(diào),也可以使用JAVASCRIPT調(diào),也可以通過(guò)HTTP直接調(diào)用new 關(guān)鍵字用法(1)new 運(yùn)算符 用于創(chuàng)建對(duì)象和調(diào)用構(gòu)造函數(shù)。(2)new 修飾符 用于向基類(lèi)成員隱藏繼承成員。(3)new 約束 用于在泛型聲明中約束可能

24、用作類(lèi)型參數(shù)的參數(shù)的類(lèi)型。2.如何把一個(gè)Array復(fù)制到ArrayList里(1) 實(shí)現(xiàn)1string s = "111", "22222" ;ArrayList list = new ArrayList();list.AddRange(s);(2)實(shí)現(xiàn)2string s = "111", "22222" ;ArrayList list = new ArrayList(s);3.DataGrid的Datasouse可以連接什么數(shù)據(jù)源DataTable,DataView,DataSet,DataViewManager

25、任何實(shí)現(xiàn)IListSource接口的組件任何實(shí)現(xiàn)IList接口的組件4.概述反射和序列化反射公共語(yǔ)言運(yùn)行庫(kù)加載器管理應(yīng)用程序域。這種管理包括將每個(gè)程序集加載到相應(yīng)的應(yīng)用程序域以及控制每個(gè)程序集中類(lèi)型層次結(jié)構(gòu)的內(nèi)存布局。程序集包含模塊,而模塊包含類(lèi)型,類(lèi)型又包含成員。反射則提供了封裝程序集、模塊和類(lèi)型的對(duì)象。您可以使用反射動(dòng)態(tài)地創(chuàng)建類(lèi)型的實(shí)例,將類(lèi)型綁定到現(xiàn)有對(duì)象,或從現(xiàn)有對(duì)象中獲取類(lèi)型。然后,可以調(diào)用類(lèi)型的方法或訪(fǎng)問(wèn)其字段和屬性。序列化序列化是將對(duì)象狀態(tài)轉(zhuǎn)換為可保持或傳輸?shù)母袷降倪^(guò)程。與序列化相對(duì)的是反序列化,它將流轉(zhuǎn)換為對(duì)象。這兩個(gè)過(guò)程結(jié)合起來(lái),可以輕松地存儲(chǔ)和傳輸數(shù)據(jù)。5.概述O/R Ma

26、pping 的原理利用反射,配置將對(duì)象和數(shù)據(jù)庫(kù)表映射。6. 可訪(fǎng)問(wèn)性級(jí)別有哪幾種public 訪(fǎng)問(wèn)不受限制。protected 訪(fǎng)問(wèn)僅限于包含類(lèi)或從包含類(lèi)派生的類(lèi)型。internal 訪(fǎng)問(wèn)僅限于當(dāng)前程序集。protected internal 訪(fǎng)問(wèn)僅限于從包含類(lèi)派生的當(dāng)前程序集或類(lèi)型。private 訪(fǎng)問(wèn)僅限于包含類(lèi)型。7. sealed 修飾符有什么特點(diǎn)sealed 修飾符可以應(yīng)用于類(lèi)、實(shí)例方法和屬性。密封類(lèi)不能被繼承。密封方法會(huì)重寫(xiě)基類(lèi)中的方法,但其本身不能在任何派生類(lèi)中進(jìn)一步重寫(xiě)。當(dāng)應(yīng)用于方法或?qū)傩詴r(shí),sealed 修飾符必須始終與 override一起使用。 8.列舉ADO.NET中的

27、共享類(lèi)和數(shù)據(jù)庫(kù)特定類(lèi)共享類(lèi)DataSetDataTableDataRowDataColumnDataRelationConstraintDataColumnMappingDataTableMapping特定類(lèi)(x)Connection(x)Command(x)CommandBuilder(x)DataAdapter(x)DataReader(x)Parameter(x)Transaction9.執(zhí)行下面代碼后:String strTemp ="abcdefg 某某某";Int i=System.Text.Encoding.Default.GetBytes(strTemp).

28、Length; 注:此是字節(jié)數(shù),一個(gè)中文是兩個(gè)字節(jié)Int j=strTemp.Length;注:此是字節(jié)的長(zhǎng)度問(wèn):i=? j=?i=(14 ) ;j=(11 ) 中文兩個(gè)字節(jié)10.C#中,string str = null 與 string str ="",請(qǐng)盡量用文字說(shuō)明區(qū)別。string str =""初始化對(duì)象分配空間而string str=null初始化對(duì)象11.詳述.NET里class和struct的異同結(jié)構(gòu)與類(lèi)共享幾乎所有相同的語(yǔ)法,但結(jié)構(gòu)比類(lèi)受到的限制更多:盡管結(jié)構(gòu)的靜態(tài)字段可以初始化,結(jié)構(gòu)實(shí)例字段聲明還是不能使用初始值設(shè)定項(xiàng)。結(jié)構(gòu)不能聲明

29、默認(rèn)構(gòu)造函數(shù)(沒(méi)有參數(shù)的構(gòu)造函數(shù))或析構(gòu)函數(shù)。結(jié)構(gòu)的副本由編譯器自動(dòng)創(chuàng)建和銷(xiāo)毀,因此不需要使用默認(rèn)構(gòu)造函數(shù)和析構(gòu)函數(shù)。實(shí)際上,編譯器通過(guò)為所有字段賦予默認(rèn)值(參見(jiàn)默認(rèn)值表)來(lái)實(shí)現(xiàn)默認(rèn)構(gòu)造函數(shù)。結(jié)構(gòu)不能從類(lèi)或其他結(jié)構(gòu)繼承。結(jié)構(gòu)是值類(lèi)型 - 如果從結(jié)構(gòu)創(chuàng)建一個(gè)對(duì)象并將該對(duì)象賦給某個(gè)變量,變量則包含結(jié)構(gòu)的全部值。復(fù)制包含結(jié)構(gòu)的變量時(shí),將復(fù)制所有數(shù)據(jù),對(duì)新副本所做的任何修改都不會(huì)改變舊副本的數(shù)據(jù)。由于結(jié)構(gòu)不使用引用,因此結(jié)構(gòu)沒(méi)有標(biāo)識(shí) - 具有相同數(shù)據(jù)的兩個(gè)值類(lèi)型實(shí)例是無(wú)法區(qū)分的。C# 中的所有值類(lèi)型本質(zhì)上都繼承自 ValueType,后者繼承自 Object。編譯器可以在一個(gè)稱(chēng)為裝箱的過(guò)程中將值類(lèi)型轉(zhuǎn)

30、換為引用類(lèi)型。結(jié)構(gòu)具有以下特點(diǎn):1.結(jié)構(gòu)是值類(lèi)型,而類(lèi)是引用類(lèi)型。2.向方法傳遞結(jié)構(gòu)時(shí),結(jié)構(gòu)是通過(guò)傳值方式傳遞的,而不是作為引用傳遞的。3.與類(lèi)不同,結(jié)構(gòu)的實(shí)例化可以不使用 new 運(yùn)算符。4.結(jié)構(gòu)可以聲明構(gòu)造函數(shù),但它們必須帶參數(shù)。一個(gè)結(jié)構(gòu)不能從另一個(gè)結(jié)構(gòu)或類(lèi)繼承,而且不能作為一個(gè)類(lèi)的基。所有結(jié)構(gòu)都直接繼承自 System.ValueType,后者繼承自 System.Object。結(jié)構(gòu)可以實(shí)現(xiàn)接口。在結(jié)構(gòu)中初始化實(shí)例字段是錯(cuò)誤的。12.什么叫應(yīng)用程序域?什么是托管代碼?什么是強(qiáng)類(lèi)型系統(tǒng)?什么是裝箱和拆箱?什么是重載?CTS、CLS和CLR分別作何解釋?zhuān)繎?yīng)用程序域應(yīng)用程序域?yàn)榘踩浴⒖煽啃浴?/p>

31、版本控制以及卸載程序集提供了隔離邊界。應(yīng)用程序域通常由運(yùn)行庫(kù)宿主創(chuàng)建,運(yùn)行庫(kù)宿主負(fù)責(zé)在運(yùn)行應(yīng)用程序之前引導(dǎo)公共語(yǔ)言運(yùn)行庫(kù)。應(yīng)用程序域提供了一個(gè)更安全、用途更廣的處理單元,公共語(yǔ)言運(yùn)行庫(kù)可使用該單元提供應(yīng)用程序之間的隔離。托管代碼使用基于公共語(yǔ)言運(yùn)行庫(kù)的語(yǔ)言編譯器開(kāi)發(fā)的代碼稱(chēng)為托管代碼;托管代碼具有許多優(yōu)點(diǎn),例如:跨語(yǔ)言集成、跨語(yǔ)言異常處理、增強(qiáng)的安全性、版本控制和部署支持、簡(jiǎn)化的組件交互模型、調(diào)試和分析服務(wù)等。裝箱和拆箱裝箱和拆箱使值類(lèi)型能夠被視為對(duì)象。對(duì)值類(lèi)型裝箱將把該值類(lèi)型打包到 Object 引用類(lèi)型的一個(gè)實(shí)例中。這使得值類(lèi)型可以存儲(chǔ)于垃圾回收堆中。拆箱將從對(duì)象中提取值類(lèi)型。重載每個(gè)類(lèi)型

32、成員都有一個(gè)唯一的簽名。方法簽名由方法名稱(chēng)和一個(gè)參數(shù)列表(方法的參數(shù)的順序和類(lèi)型)組成。只要簽名不同,就可以在一種類(lèi)型內(nèi)定義具有相同名稱(chēng)的多種方法。當(dāng)定義兩種或多種具有相同名稱(chēng)的方法時(shí),就稱(chēng)作重載。CTS通用類(lèi)型系統(tǒng) (common type system) 一種確定公共語(yǔ)言運(yùn)行庫(kù)如何定義、使用和管理類(lèi)型的規(guī)范。CLR公共語(yǔ)言運(yùn)行庫(kù).NET Framework 提供了一個(gè)稱(chēng)為公共語(yǔ)言運(yùn)行庫(kù)的運(yùn)行時(shí)環(huán)境,它運(yùn)行代碼并提供使開(kāi)發(fā)過(guò)程更輕松的服務(wù)。CLS公共語(yǔ)言規(guī)范要和其他對(duì)象完全交互,而不管這些對(duì)象是以何種語(yǔ)言實(shí)現(xiàn)的,對(duì)象必須只向調(diào)用方公開(kāi)那些它們必須與之互用的所有語(yǔ)言的通用功能。為此定義了公共語(yǔ)

33、言規(guī)范 (CLS),它是許多應(yīng)用程序所需的一套基本語(yǔ)言功能。強(qiáng)類(lèi)型C# 是強(qiáng)類(lèi)型語(yǔ)言;因此每個(gè)變量和對(duì)象都必須具有聲明類(lèi)型。13.值類(lèi)型和引用類(lèi)型的區(qū)別? 基于值類(lèi)型的變量直接包含值。將一個(gè)值類(lèi)型變量賦給另一個(gè)值類(lèi)型變量時(shí),將復(fù)制包含的值。這與引用類(lèi)型變量的賦值不同,引用類(lèi)型變量的賦值只復(fù)制對(duì)對(duì)象的引用,而不復(fù)制對(duì)象本身。所有的值類(lèi)型均隱式派生自 System.ValueType。與引用類(lèi)型不同,從值類(lèi)型不可能派生出新的類(lèi)型。但與引用類(lèi)型相同的是,結(jié)構(gòu)也可以實(shí)現(xiàn)接口。與引用類(lèi)型不同,值類(lèi)型不可能包含 null 值。然而,可空類(lèi)型功能允許將 null 賦給值類(lèi)型。 每種值類(lèi)型均有一個(gè)隱式的默認(rèn)構(gòu)

34、造函數(shù)來(lái)初始化該類(lèi)型的默認(rèn)值。值類(lèi)型主要由兩類(lèi)組成:結(jié)構(gòu)、枚舉結(jié)構(gòu)分為以下幾類(lèi):Numeric(數(shù)值)類(lèi)型、整型、浮點(diǎn)型、decimal、bool、用戶(hù)定義的結(jié)構(gòu)。引用類(lèi)型的變量又稱(chēng)為對(duì)象,可存儲(chǔ)對(duì)實(shí)際數(shù)據(jù)的引用。聲明引用類(lèi)型的關(guān)鍵字:class、inte*ce、delegate、內(nèi)置引用類(lèi)型: object、string14.如何理解委托委托類(lèi)似于 C+ 函數(shù)指針,但它是類(lèi)型安全的。委托允許將方法作為參數(shù)進(jìn)行傳遞。委托可用于定義回調(diào)方法。委托可以鏈接在一起;例如,可以對(duì)一個(gè)事件調(diào)用多個(gè)方法。方法不需要與委托簽名精確匹配。有關(guān)更多信息,請(qǐng)參見(jiàn)協(xié)變和逆變。C# 2.0 版引入了匿名方法的概念,此

35、類(lèi)方法允許將代碼塊作為參數(shù)傳遞,以代替單獨(dú)定義的方法。15.C#中的接口和類(lèi)有什么異同。異:不能直接實(shí)例化接口。接口不包含方法的實(shí)現(xiàn)。接口、類(lèi)和結(jié)構(gòu)可從多個(gè)接口繼承。但是C# 只支持單繼承:類(lèi)只能從一個(gè)基類(lèi)繼承實(shí)現(xiàn)。類(lèi)定義可在不同的源文件之間進(jìn)行拆分。同:接口、類(lèi)和結(jié)構(gòu)可從多個(gè)接口繼承。接口類(lèi)似于抽象基類(lèi):繼承接口的任何非抽象類(lèi)型都必須實(shí)現(xiàn)接口的所有成員。接口可以包含事件、索引器、方法和屬性。一個(gè)類(lèi)可以實(shí)現(xiàn)多個(gè)接口。16.ASP.net的身份驗(yàn)證方式有哪些Windows 身份驗(yàn)證提供程序提供有關(guān)如何將 Windows 身份驗(yàn)證與 Microsoft Internet 信息服務(wù) (IIS) 身份

36、驗(yàn)證結(jié)合使用來(lái)確保 ASP.NET 應(yīng)用程序安全的信息。Forms 身份驗(yàn)證提供程序 提供有關(guān)如何使用您自己的代碼創(chuàng)建應(yīng)用程序特定的登錄窗體并執(zhí)行身份驗(yàn)證的信息。使用 Forms 身份驗(yàn)證的一種簡(jiǎn)便方法是使用 ASP.NET 成員資格和 ASP.NET 登錄控件,它們一起提供了一種只需少量或無(wú)需代碼就可以收集、驗(yàn)證和管理用戶(hù)憑據(jù)的方法。Passport 身份驗(yàn)證提供程序 提供有關(guān)由 Microsoft 提供的集中身份驗(yàn)證服務(wù)的信息,該服務(wù)為成員站點(diǎn)提供單一登錄和核心配置17.活動(dòng)目錄的作用Active Directory存儲(chǔ)了有關(guān)網(wǎng)絡(luò)對(duì)象的信息,并且讓管理員和用戶(hù)能夠輕松地查找和使用這些信息。

37、Active Directory使用了一種結(jié)構(gòu)化的數(shù)據(jù)存儲(chǔ)方式,并以此作為基礎(chǔ)對(duì)目錄信息進(jìn)行合乎邏輯的分層組織。18.解釋一下UDDI、WSDL的意義及其作用UDDI統(tǒng)一描述、發(fā)現(xiàn)和集成協(xié)議(UDDI, Universal Description, Discovery and Integration)是一套基于Web的、分布式的、為Web服務(wù)提供的信息注冊(cè)中心的實(shí)現(xiàn)標(biāo)準(zhǔn)規(guī)范,同時(shí)也包含一組使企業(yè)能將自身提供的Web服務(wù)注冊(cè)以使得別的企業(yè)能夠發(fā)現(xiàn)的訪(fǎng)問(wèn)協(xié)議的實(shí)現(xiàn)標(biāo)準(zhǔn)。UDDI 提供了一組基于標(biāo)準(zhǔn)的規(guī)范用于描述和發(fā)現(xiàn)服務(wù),還提供了一組基于因特網(wǎng)的實(shí)現(xiàn)。WSDLWSDL描述Web服務(wù)的公共接口。這是

38、一個(gè)基于XML的關(guān)于如何與Web服務(wù)通訊和使用的服務(wù)描述;服務(wù) URL 和命名空間 網(wǎng)絡(luò)服務(wù)的類(lèi)型(可能還包括 SOAP 的函數(shù)調(diào)用,正像我所說(shuō)過(guò)的,WSDL 足夠自如地去描述網(wǎng)絡(luò)服務(wù)的廣泛內(nèi)容) 有效函數(shù)列表 每個(gè)函數(shù)的參數(shù) 每個(gè)參數(shù)的類(lèi)型 每個(gè)函數(shù)的返回值及其數(shù)據(jù)類(lèi)型19.什么是SOAPSOAP(Simple Object Access Protocol )簡(jiǎn)單對(duì)象訪(fǎng)問(wèn)協(xié)議是在分散或分布式的環(huán)境中交換信息并執(zhí)行遠(yuǎn)程過(guò)程調(diào)用的協(xié)議,是一個(gè)基于XML的協(xié)議。使用SOAP,不用考慮任何特定的傳輸協(xié)議(最常用的還是HTTP協(xié)議),可以允許任何類(lèi)型的對(duì)象或代碼,在任何平臺(tái)上,以任何一直語(yǔ)言相互通信。

39、SOAP 是一種輕量級(jí)協(xié)議,用于在分散型、分布式環(huán)境中交換結(jié)構(gòu)化信息。 SOAP 利用 XML 技術(shù)定義一種可擴(kuò)展的消息處理框架,它提供了一種可通過(guò)多種底層協(xié)議進(jìn)行交換的消息結(jié)構(gòu)。 這種框架的設(shè)計(jì)思想是要獨(dú)立于任何一種特定的編程模型和其他特定實(shí)現(xiàn)的語(yǔ)義。SOAP 定義了一種方法以便將 XML 消息從 A 點(diǎn)傳送到 B 點(diǎn)。 為此,它提供了一種基于 XML 且具有以下特性的消息處理框架:1) 可擴(kuò)展,2) 可通過(guò)多種底層網(wǎng)絡(luò)協(xié)議使用,3) 獨(dú)立于編程模型。 20.如何部署一個(gè)ASP.net頁(yè)面VS 2005和VS 2003都有發(fā)布機(jī)制。2003可以發(fā)布然后再?gòu)?fù)制部署。VS2005基本上可以直接部

40、署到對(duì)應(yīng)位置。21.如何理解.net中的垃圾回收機(jī)制.NET Framework 的垃圾回收器管理應(yīng)用程序的內(nèi)存分配和釋放。每次您使用 new 運(yùn)算符創(chuàng)建對(duì)象時(shí),運(yùn)行庫(kù)都從托管堆為該對(duì)象分配內(nèi)存。只要托管堆中有地址空間可用,運(yùn)行庫(kù)就會(huì)繼續(xù)為新對(duì)象分配空間。但是,內(nèi)存不是無(wú)限大的。最終,垃圾回收器必須執(zhí)行回收以釋放一些內(nèi)存。垃圾回收器優(yōu)化引擎根據(jù)正在進(jìn)行的分配情況確定執(zhí)行回收的最佳時(shí)間。當(dāng)垃圾回收器執(zhí)行回收時(shí),它檢查托管堆中不再被應(yīng)用程序使用的對(duì)象并執(zhí)行必要的操作來(lái)回收它們占用的內(nèi)存。注意:紅色字體部分是本人更正了網(wǎng)絡(luò)上的一些錯(cuò)誤答案。 2 .列舉ASP.NET 頁(yè)面之間傳遞值的幾種方式。 答.

41、 1).使用QueryString, 如.?id=1; response. Redirect(). 2).使用Session變量 3).使用Server.Transfer3. 一列數(shù)的規(guī)則如下: 1、1、2、3、5、8、13、21、34. 求第30位數(shù)是多少, 用遞歸算法實(shí)現(xiàn)。答:public class MainClass public static void Main() Console.WriteLine(Foo(30); public static int Foo(int i) if (i <= 0) return 0; else if(i > 0 && i

42、 <= 2) return 1; else return Foo(i -1) + Foo(i - 2); 4.C#中的委托是什么?事件是不是一種委托?答 : 委托可以把一個(gè)方法作為參數(shù)代入另一個(gè)方法。 委托可以理解為指向一個(gè)函數(shù)的引用。 是,是一種特殊的委托5.override與重載的區(qū)別答 :override 與重載的區(qū)別。重載是方法的名稱(chēng)相同。參數(shù)或參數(shù)類(lèi)型不同,進(jìn)行多次重載以適應(yīng)不同的需要 Override 是進(jìn)行基類(lèi)中函數(shù)的重寫(xiě)。為了適應(yīng)需要。 6.如果在一個(gè)B/S結(jié)構(gòu)的系統(tǒng)中需要傳遞變量值,但是又不能使用Session、Cookie、Application,您有幾種方法進(jìn)行處理

43、?答 : QueryString、FormsAuthentication、 this.Server.Transfer 7.請(qǐng)編程遍歷頁(yè)面上所有TextBox控件并給它賦值為string.Empty?答:foreach (System.Windows.Forms.Control control in this.Controls)if (control is System.Windows.Forms.TextBox)System.Windows.Forms.TextBox tb = (System.Windows.Forms.TextBox)control ; tb.Text = String.E

44、mpty ; 8.請(qǐng)編程實(shí)現(xiàn)一個(gè)冒泡排序算法?答:int array = new int * ;int temp = 0 ;for (int i = 0 ; i < array.Length - 1 ; i+)for (int j = i + 1 ; j < array.Length ; j+)if (arrayj < arrayi)temp = arrayi ;arrayi = arrayj ;arrayj = temp ;9.描述一下C#中索引器的實(shí)現(xiàn)過(guò)程,是否只能根據(jù)數(shù)字進(jìn)行索引?答:可以用任意類(lèi)型。10.求以下表達(dá)式的值,寫(xiě)出您想到的一種或幾種實(shí)現(xiàn)方法: 1-2+3-

45、4+m答:int Num = this.TextBox1.Text.ToString() ;int Sum = 0 ;for (int i = 0 ; i < Num + 1 ; i+)if(i%2) = 1)Sum += i ;elseSum = Sum - i;System.Console.WriteLine(Sum.ToString();System.Console.ReadLine() ; 12.在下面的例子里using System;class Apublic A()PrintFields();public virtual void PrintFields()class B:A

46、int x=1;int y;public B()y=-1;public override void PrintFields()Console.WriteLine("x=0,y=1",x,y);當(dāng)使用new B()創(chuàng)建B的實(shí)例時(shí),產(chǎn)生什么輸出?答:X=1,Y=0;x= 1 y = -1 13.什么叫應(yīng)用程序域?答:應(yīng)用程序域可以理解為一種輕量級(jí)進(jìn)程。起到安全的作用。占用資源小。 14.CTS、CLS、CLR分別作何解釋?zhuān)看穑篊TS:通用語(yǔ)言系統(tǒng)。CLS:通用語(yǔ)言規(guī)范。CLR:公共語(yǔ)言運(yùn)行庫(kù)。15.什么是裝箱和拆箱?答:從值類(lèi)型接口轉(zhuǎn)換到引用類(lèi)型裝箱。從引用類(lèi)型轉(zhuǎn)換到值類(lèi)型拆箱

47、。 16.什么是受管制的代碼?答:unsafe:非托管代碼。不經(jīng)過(guò)CLR運(yùn)行。 17.什么是強(qiáng)類(lèi)型系統(tǒng)?答:RTTI:類(lèi)型識(shí)別系統(tǒng)。 中讀寫(xiě)數(shù)據(jù)庫(kù)需要用到那些類(lèi)?他們的作用?答:DataSet:數(shù)據(jù)存儲(chǔ)器。DataCommand:執(zhí)行語(yǔ)句命令。DataAdapter:數(shù)據(jù)的集合,用語(yǔ)填充。 21.在.net中,配件的意思是?答:程序集。(中間語(yǔ)言,源數(shù)據(jù),資源,裝配清單) 22.常用的調(diào)用WebService的方法有哪些?答:1.使用WSDL.exe命令行工具。 2.使用VS.NET中的Add Web Reference菜單選項(xiàng) Remoting 的工作原理是什么?答:服務(wù)器端向客戶(hù)端發(fā)送一個(gè)

48、進(jìn)程編號(hào),一個(gè)程序域編號(hào),以確定對(duì)象的位置。 29.根據(jù)線(xiàn)程安全的相關(guān)知識(shí),分析以下代碼,當(dāng)調(diào)用test方法時(shí)i>10時(shí)是否會(huì)引起死鎖?并簡(jiǎn)要說(shuō)明理由。public void test(int i) lock(this) if (i>10) i-; test(i); 答:不會(huì)發(fā)生死鎖,(但有一點(diǎn)int是按值傳遞的,所以每次改變的都只是一個(gè)副本,因此不會(huì)出現(xiàn)死鎖。但如果把int換做一個(gè)object,那么死鎖會(huì)發(fā)生) 30.簡(jiǎn)要談一下您對(duì)微軟.NET 構(gòu)架下remoting和webservice兩項(xiàng)技術(shù)的理解以及實(shí)際中的應(yīng)用。答:WS主要是可利用HTTP,穿透防火墻。而Remoting

49、可以利用TCP/IP,二進(jìn)制傳送提高效率。remoting是.net中用來(lái)跨越machine,process,appdomain進(jìn)行方法調(diào)用的技術(shù),對(duì)于三成結(jié)構(gòu)的程序,就可以使用remoting技術(shù)來(lái)構(gòu)建.它是分布應(yīng)用的基礎(chǔ)技術(shù).相當(dāng)于以前的DCOMWebService是一種構(gòu)建應(yīng)用程序的普通模型,并能在所有支持internet網(wǎng)通訊的操作系統(tǒng)上實(shí)施。WebService令基于組件的開(kāi)發(fā)和web的結(jié)合達(dá)到最佳,基于組件的對(duì)象模型 31.公司要求開(kāi)發(fā)一個(gè)繼承System.Windows.Forms.ListView類(lèi)的組件,要求達(dá)到以下的特殊功能:點(diǎn)擊ListView各列列頭時(shí),能按照點(diǎn)擊列的每

50、行值進(jìn)行重排視圖中的所有行 (排序的方式如DataGrid相似)。根據(jù)您的知識(shí),請(qǐng)簡(jiǎn)要談一下您的思路答:根據(jù)點(diǎn)擊的列頭,包該列的ID取出,按照該ID排序后,在給綁定到ListView中。 32.給定以下XML文件,完成算法流程圖。<FileSystem> < DriverC > <Dir DirName=”MSDOS622”> <File FileName =” C” ></File> </Dir> <File FileName =”MSDOS.SYS” ></File> <File File

51、Name =” IO.SYS” ></File> </DriverC> </FileSystem> 請(qǐng)畫(huà)出遍歷所有文件名(FileName)的流程圖(請(qǐng)使用遞歸算法)。答:void FindFile( Directory d ) FileOrFolders = d.GetFileOrFolders(); foreach( FileOrFolder fof in FileOrFolders ) if( fof is File ) You Found a file; else if ( fof is Directory ) FindFile( fof );

52、 35.能用foreach遍歷訪(fǎng)問(wèn)的對(duì)象需要實(shí)現(xiàn) _接口或聲明_方法的類(lèi)型。答:IEnumerable 、 GetEnumerator。 36.GC是什么? 為什么要有GC?答:GC是垃圾收集器。程序員不用擔(dān)心內(nèi)存管理,因?yàn)槔占鲿?huì)自動(dòng)進(jìn)行管理。要請(qǐng)求垃圾收集,可以調(diào)用下面的方法之一: System.gc()Runtime.getRuntime().gc() 37.String s = new String("xyz");創(chuàng)建了幾個(gè)String Object?答:兩個(gè)對(duì)象,一個(gè)是“xyx”,一個(gè)是指向“xyx”的引用對(duì)像s。 38.abstract class和interface有什么區(qū)別?答:聲明方法的存在而不去實(shí)現(xiàn)它的類(lèi)被叫做抽像類(lèi)(abstract class),它用于要?jiǎng)?chuàng)建一個(gè)體現(xiàn)某些基本行為的類(lèi),并為

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論