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

下載本文檔

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

文檔簡介

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

2、=,有什么錯誤么? 要同時修改Equale和GetHash() ? 重載了"=" 就必須重載 "!="7.委托聲明的關(guān)鍵字是_ delegate _?8.用sealed修飾的類有什么特點(diǎn)?不可被繼承9.在A中所有的自定義用戶控件都必須繼承自_ System.Web.UI.UserControl _?10.在.Net中所有可序列化的類都被標(biāo)記為_serializable_?11.在.Net托管代碼中我們不用擔(dān)心內(nèi)存漏洞,這是因?yàn)橛辛薩 gC _?12.下面的代碼中有什么錯誤嗎?_ 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)類T只聲明了私有實(shí)例構(gòu)造函數(shù)時,則在T的程序文本外部,_不可以_(可以 or 不可以)從T派生出新的類,_不可以_(可以 or 不可以)直接創(chuàng)建T的任何實(shí)例。14.下面這段代碼有錯誤么?case():不行default;switch (i)case():CaseZero();break;case 1:CaseOne();break;case 2:duf

4、ault;CaseTwo();break;15.在.Net中,類System.Web.UI.Page 可以被繼承么?可以2. 不定項(xiàng)選擇:(1) 以下敘述正確的是: B CA. 接口中可以有虛方法。B. 一個類可以實(shí)現(xiàn)多個接口。 C. 接口不能被實(shí)例化。 D. 接口中可以包含已實(shí)現(xiàn)的方法.(2) 從數(shù)據(jù)庫讀取記錄,你可能用到的方法有:B C D A. ExecuteNonQuery B. ExecuteScalar C. Fill D. ExecuteReader2.對于一個實(shí)現(xiàn)了IDisposable接口的類,以下哪些項(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.在對SQL Server 數(shù)據(jù)庫操作時應(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)是引用類型。a)enum類型 b)struct類型 c)string類型 d)int類型3.關(guān)于ASP.NET中的代碼隱藏文件的描述正確的是(C)a)Web窗體頁的程序的邏輯由代碼組成,這些代碼的創(chuàng)建用于與窗體交互。編程邏輯唯一與用戶界面不同的文件中。該文件稱作為“代碼隱藏”文件,如果用C創(chuàng)建,該文件將具有“.ascx.cs”擴(kuò)展名。b)項(xiàng)目中所有Web窗體頁的代碼隱藏文件都被編譯成.EXE文件。c)項(xiàng)目中所有的Web窗體頁的代碼隱藏文件都被編譯成項(xiàng)目

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

8、口都不能被實(shí)例化;d)一個類可以有多個基類和多個基接口;7.在DOM中,裝載一個XML文檔的方法(D)a)save方法 b)load方法 c)loadXML方法 d)send方法8.下列關(guān)于構(gòu)造函數(shù)的描述正確的是(C)a)構(gòu)造函數(shù)可以聲明返回類型。b)構(gòu)造函數(shù)不可以用private修飾c)構(gòu)造函數(shù)必須與類名相同d)構(gòu)造函數(shù)不能帶參數(shù)9.以下是一些C#中的枚舉型的定義,其中錯誤的用法有()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.接口是一種引用類型,在接口中可以聲明(A),但不可以聲明公有的域或私有的成員變量。a)方法、屬性、索引器和事件; b)方法、屬性信息、屬性; c)索引器和字段; d)事件和字段;12.ASP.NET框架中,服務(wù)器控件是為配合Web表單工作而專門設(shè)計的。服務(wù)器控件有

10、兩種類型,它們是(A )a)HTML控件和Web控件 b)HTML控件和XML控件 c)XML控件和Web控件 d)HTML控件和IIS控件13.ASP.NET中,在Web窗體頁上注冊一個用戶控件,指定該控件的名稱為”Mike”,正確的注冊指令為( 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.在ADO.NET中,對于Command對象的ExecuteNonQuery()方法和ExecuteReader()方法,下面敘述錯誤的是(C)。a)insert、update、delete等操作的Sql語句主要用ExecuteNonQuery()方法來執(zhí)行;b)ExecuteNonQuery()方法返回執(zhí)行Sql語句所影響的行數(shù)。c)Select操作的Sql語句只能由ExecuteReader()方法來執(zhí)行;d)ExecuteReader()方法返回一個DataReder對象;

12、15.下列ASP.NET語句(b)正確地創(chuàng)建了一個與SQL Server 2000數(shù)據(jù)庫的連接。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事件在用戶單擊工具欄任何地方時都會觸發(fā)17.在ADO.NET中執(zhí)行一個存儲過程時,如果要設(shè)置輸出參數(shù)則必須同時設(shè)置參數(shù)的方向和(B ),必要時還要設(shè)置參數(shù)尺寸。a)大?。?b)上限; c)初始值; d)類型;18.如果將窗體的FormBoderStyle設(shè)置為None,則( B)。a)窗體沒有邊框并不能調(diào)整大??; b)窗體沒有邊框但能調(diào)整大小;c)窗體有邊框但不能調(diào)整大小; d)窗體是透明

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

16、tModel命名空間; b)System.Collections命名空間;c)System.Threading命名空間; d)Microsoft.Win32命名空間;23.要創(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)")返回的是一個 ()類型的值。a)TreeNode;b)int;c)string;d)TreeView;25.下面關(guān)于X

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

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

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

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

21、口可以多繼承,類不行 9.。net中讀寫數(shù)據(jù)庫需要用到哪些類?他們的作用datareader dataset 還有一個不太常用10.UDP連接和TCP連接的異同。UDP是無連接狀態(tài)的,TCP是有狀態(tài)的這個才是他們的根本區(qū)別,也就是說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的時候用的多一些,FORM一般是做網(wǎng)站用的多他是采用COOKIE機(jī)制來實(shí)現(xiàn)的,PASSPORT是微軟提供的一個WEBSERVICE 12.進(jìn)程和線程分別怎么理解?進(jìn)程就是一個程序?qū)嵗?/p>

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

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

24、用作類型參數(shù)的參數(shù)的類型。2.如何把一個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ùn)行庫加載器管理應(yīng)用程序域。這種管理包括將每個程序集加載到相應(yīng)的應(yīng)用程序域以及控制每個程序集中類型層次結(jié)構(gòu)的內(nèi)存布局。程序集包含模塊,而模塊包含類型,類型又包含成員。反射則提供了封裝程序集、模塊和類型的對象。您可以使用反射動態(tài)地創(chuàng)建類型的實(shí)例,將類型綁定到現(xiàn)有對象,或從現(xiàn)有對象中獲取類型。然后,可以調(diào)用類型的方法或訪問其字段和屬性。序列化序列化是將對象狀態(tài)轉(zhuǎn)換為可保持或傳輸?shù)母袷降倪^程。與序列化相對的是反序列化,它將流轉(zhuǎn)換為對象。這兩個過程結(jié)合起來,可以輕松地存儲和傳輸數(shù)據(jù)。5.概述O/R Ma

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

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

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

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

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

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

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

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

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

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

37、Active Directory使用了一種結(jié)構(gòu)化的數(shù)據(jù)存儲方式,并以此作為基礎(chǔ)對目錄信息進(jìn)行合乎邏輯的分層組織。18.解釋一下UDDI、WSDL的意義及其作用UDDI統(tǒng)一描述、發(fā)現(xiàn)和集成協(xié)議(UDDI, Universal Description, Discovery and Integration)是一套基于Web的、分布式的、為Web服務(wù)提供的信息注冊中心的實(shí)現(xiàn)標(biāo)準(zhǔn)規(guī)范,同時也包含一組使企業(yè)能將自身提供的Web服務(wù)注冊以使得別的企業(yè)能夠發(fā)現(xià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、一個基于XML的關(guān)于如何與Web服務(wù)通訊和使用的服務(wù)描述;服務(wù) URL 和命名空間 網(wǎng)絡(luò)服務(wù)的類型(可能還包括 SOAP 的函數(shù)調(diào)用,正像我所說過的,WSDL 足夠自如地去描述網(wǎng)絡(luò)服務(wù)的廣泛內(nèi)容) 有效函數(shù)列表 每個函數(shù)的參數(shù) 每個參數(shù)的類型 每個函數(shù)的返回值及其數(shù)據(jù)類型19.什么是SOAPSOAP(Simple Object Access Protocol )簡單對象訪問協(xié)議是在分散或分布式的環(huán)境中交換信息并執(zhí)行遠(yuǎn)程過程調(diào)用的協(xié)議,是一個基于XML的協(xié)議。使用SOAP,不用考慮任何特定的傳輸協(xié)議(最常用的還是HTTP協(xié)議),可以允許任何類型的對象或代碼,在任何平臺上,以任何一直語言相互通信。

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

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

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

43、?答 : QueryString、FormsAuthentication、 this.Server.Transfer 7.請編程遍歷頁面上所有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.請編程實(shí)現(xiàn)一個冒泡排序算法?答: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)過程,是否只能根據(jù)數(shù)字進(jìn)行索引?答:可以用任意類型。10.求以下表達(dá)式的值,寫出您想到的一種或幾種實(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í)例時,產(chǎn)生什么輸出?答:X=1,Y=0;x= 1 y = -1 13.什么叫應(yīng)用程序域?答:應(yīng)用程序域可以理解為一種輕量級進(jìn)程。起到安全的作用。占用資源小。 14.CTS、CLS、CLR分別作何解釋?答:CTS:通用語言系統(tǒng)。CLS:通用語言規(guī)范。CLR:公共語言運(yùn)行庫。15.什么是裝箱和拆箱?答:從值類型接口轉(zhuǎn)換到引用類型裝箱。從引用類型轉(zhuǎn)換到值類型拆箱

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

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

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

50、行值進(jìn)行重排視圖中的所有行 (排序的方式如DataGrid相似)。根據(jù)您的知識,請簡要談一下您的思路答:根據(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> 請畫出遍歷所有文件名(FileName)的流程圖(請使用遞歸算法)。答: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遍歷訪問的對象需要實(shí)現(xiàn) _接口或聲明_方法的類型。答:IEnumerable 、 GetEnumerator。 36.GC是什么? 為什么要有GC?答:GC是垃圾收集器。程序員不用擔(dān)心內(nèi)存管理,因?yàn)槔占鲿詣舆M(jìn)行管理。要請求垃圾收集,可以調(diào)用下面的方法之一: System.gc()Runtime.getRuntime().gc() 37.String s = new String("xyz");創(chuàng)建了幾個String Object?答:兩個對象,一個是“xyx”,一個是指向“xyx”的引用對像s。 38.abstract class和interface有什么區(qū)別?答:聲明方法的存在而不去實(shí)現(xiàn)它的類被叫做抽像類(abstract class),它用于要創(chuàng)建一個體現(xiàn)某些基本行為的類,并為

溫馨提示

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

評論

0/150

提交評論