.net面试题大全,绝大部分面试题(有答案)
上次偶面試90%都是這里面的,找工作的同學應該看看。
?
1 (1)面向對象的語言具有__繼承性_性、_封裝性_性、_多態性 性。
(2)能用foreach遍歷訪問的對象需要實現 _ IEnumerable 接口或聲明_ GetEnumerator 方法的類型。1.c#中的三元運算符是__?:__
2.當整數a賦值給一個object對象時,整數a將會被__裝箱___?
3.類成員有__3__種可訪問形式?
4.public static const int A=1;這段代碼有錯誤么?是什么? const成員都是static所以應該去掉static
5.float f=-123.567F;
int i=(int)f;
i的值現在是_-123____?
6.利用operator聲明且僅聲明了==,有什么錯誤么? 要同時修改Equale和GetHash() ? 重載了"==" 就必須重載 "!="
7.委托聲明的關鍵字是___ delegate ___?
8.用sealed修飾的類有什么特點?不可被繼承
9.在Asp.net中所有的自定義用戶控件都必須繼承自_ System.Web.UI.UserControl _______?
10.在.Net中所有可序列化的類都被標記為__[serializable]___?
11.在.Net托管代碼中我們不用擔心內存漏洞,這是因為有了_ gC __?
12.下面的代碼中有什么錯誤嗎?_ abstract override 是不可以一起修飾______
using System;
class A
{
public virtual void F(){
Console.WriteLine("A.F");
}
}
abstract class B:A
{
public abstract override void F();
}
13.當類T只聲明了私有實例構造函數時,則在T的程序文本外部,_不可以_(可以 or 不可以)從T派生出新的類,_不可以_(可以 or 不可以)直接創建T的任何實例。
14.下面這段代碼有錯誤么?case():不行 default;
switch (i){
case():
CaseZero();
break;
case 1:
CaseOne();
break;
case 2:
dufault;
CaseTwo();
break;
}
15.在.Net中,類System.Web.UI.Page 可以被繼承么?可以
2. 不定項選擇:
(1) 以下敘述正確的是: B C
A. 接口中可以有虛方法。B. 一個類可以實現多個接口。 C. 接口不能被實例化。 D. 接口中可以包含已實現的方法。
?? (2) 從數據庫讀取記錄,你可能用到的方法有:B C D
????? A. ExecuteNonQuery??????????? B. ExecuteScalar????? C. Fill??????????????????????? D. ExecuteReader
2.對于一個實現了IDisposable接口的類,以下哪些項可以執行與釋放或重置非托管資源相關的應用程序定義的任務?(多選)?? (??????? ABC???????? )??
A.Close B.Dispose C.Finalize??
D.using E.Quit??
3.以下關于ref和out的描述哪些項是正確的?(多選)?? (??? ACD?? )??
A.使用ref參數,傳遞到ref參數的參數必須最先初始化。??
B.使用out參數,傳遞到out參數的參數必須最先初始化。??
C.使用ref參數,必須將參數作為ref參數顯式傳遞到方法。??
D.使用out參數,必須將參數作為out參數顯式傳遞到方法。
1.在對SQL Server 數據庫操作時應選用(A)。
a)SQL Server .NET Framework 數據提供程序;
b)OLE DB .NET Framework 數據提供程序;
c)ODBC .NET Framework 數據提供程序;
d)Oracle .NET Framework數據提供程序;
2.下列選項中,(C)是引用類型。
a)enum類型?? b)struct類型 c)string類型?? d)int類型
3.關于ASP.NET中的代碼隱藏文件的描述正確的是(C)
a)Web窗體頁的程序的邏輯由代碼組成,這些代碼的創建用于與窗體交互。編程邏輯唯一與用戶界面不同的文件中。該文件稱作為“代碼隱藏”文件,如果用C#創建,該文件將具有“.ascx.cs”擴展名。
b)項目中所有Web窗體頁的代碼隱藏文件都被編譯成.EXE文件。
c)項目中所有的Web窗體頁的代碼隱藏文件都被編譯成項目動態鏈接庫(.dll)文件。
d)以上都不正確。
4.以下描述錯誤的是(A)
a)在C++中支持抽象類而在C#中不支持抽象類。
b)C++中可在頭文件中聲明類的成員而在CPP文件中定義類的成員,在C#中沒有頭文件并且在同一處聲明和定義類的成員。
c)在C#中可使用 new 修飾符顯式隱藏從基類繼承的成員。
d)在C#中要在派生類中重新定義基類的虛函數必須在前面加Override。
5.C#的數據類型有(A)
a)值類型和調用類型; b)值類型和引用類型;c)引用類型和關系類型;d)關系類型和調用類型;
6.下列描述錯誤的是(D)
a)類不可以多重繼承而接口可以;
b)抽象類自身可以定義成員而接口不可以;
c)抽象類和接口都不能被實例化;
d)一個類可以有多個基類和多個基接口;
7.在DOM中,裝載一個XML文檔的方法(D)
a)save方法?? b)load方法 c)loadXML方法 d)send方法
8.下列關于構造函數的描述正確的是(C)
a)構造函數可以聲明返回類型。
b)構造函數不可以用private修飾
c)構造函數必須與類名相同
d)構造函數不能帶參數
9.以下是一些C#中的枚舉型的定義,其中錯誤的用法有()
a)public enum var1{ Mike = 100, Nike = 102, Jike }
b)public enum var1{ Mike = 100, Nike, Jike }
c)public enum var1{ Mike=-1 , Nike, Jike }
d)public enum var1{ Mike , Nike , Jike }
10.int[][] myArray3=new int[3][]{new int[3]{5,6,2},new int[5]{6,9,7,8,3},new int[2]{3,2}}; myArray3[2][2]的值是(D)。
a)9?????????????????? b)2???????????? c)6????????????? d)越界
11.接口是一種引用類型,在接口中可以聲明(A),但不可以聲明公有的域或私有的成員變量。
a)方法、屬性、索引器和事件; b)方法、屬性信息、屬性; c)索引器和字段;??? d)事件和字段;
12.ASP.NET框架中,服務器控件是為配合Web表單工作而專門設計的。服務器控件有兩種類型,它們是(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 TagPrefix = “SpaceX” TagName = “Space2” Src = “Mike”%>
d)以上皆非
14.在ADO.NET中,對于Command對象的ExecuteNonQuery()方法和ExecuteReader()方法,下面敘述錯誤的是(C)。
a)insert、update、delete等操作的Sql語句主要用ExecuteNonQuery()方法來執行;
b)ExecuteNonQuery()方法返回執行Sql語句所影響的行數。
c)Select操作的Sql語句只能由ExecuteReader()方法來執行;
d)ExecuteReader()方法返回一個DataReder對象;
15.下列ASP.NET語句(b)正確地創建了一個與SQL Server 2000數據庫的連接。
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 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中,關于ToolBar控件的屬性和事件的描述不正確的是(D)。
a)Buttons屬性表示ToolBar控件的所有工具欄按鈕
b)ButtonSize屬性表示ToolBar控件上的工具欄按鈕的大小,如高度和寬度
c)DropDownArrows屬性表明工具欄按鈕(該按鈕有一列值需要以下拉方式顯示)旁邊是否顯示下箭頭鍵
d)ButtonClick事件在用戶單擊工具欄任何地方時都會觸發
17.在ADO.NET中執行一個存儲過程時,如果要設置輸出參數則必須同時設置參數的方向和(B ),必要時還要設置參數尺寸。
a)大小;???????????? b)上限;????????????? c)初始值;??????????? d)類型;
18.如果將窗體的FormBoderStyle設置為None,則( B)。
a)窗體沒有邊框并不能調整大小;??????? b)窗體沒有邊框但能調整大小;
c)窗體有邊框但不能調整大小;????????? d)窗體是透明的;
19.如果要將窗體設置為透明的,則( B)
a)要將FormBoderStyle屬性設置為None;????? b)要將Opacity屬性設置為小于100%得值;
c)要將locked 屬性設置為True;????????????? d)要將 Enabled屬性設置為True;
20.下列關于C#中索引器理解正確的是(B/C )
a)索引器的參數必須是兩個或兩個以上?? b)索引器的參數類型必須是整數型
c)索引器沒有名字???????????????????? d)以上皆非
21.下面描述錯誤的是( C/D)。
a)窗體也是控件; b)窗體也是類; c)控件是從窗體繼承來的; d)窗體的父類是控件類;
22.要對注冊表進行操作則必須包含( D)。
a)System.ComponentModel命名空間; b)System.Collections命名空間;
c)System.Threading命名空間;????? d)Microsoft.Win32命名空間;
23.要創建多文檔應用程序,需要將窗體的(D )屬性設為true。
a)DrawGrid;???????? b)ShowInTaskbar;????????? c)Enabled;??????????? d)IsMdiContainer;
24.如果設treeView1=new TreeView(),則treeView1.Nodes.Add("根節點")返回的是一個 ()類型的值。
a)TreeNode;
b)int;
c)string;
d)TreeView;
25.下面關于XML的描述錯誤的是(D)。
a)XML提供一種描述結構化數據的方法;
b)XML 是一種簡單、與平臺無關并被廣泛采用的標準;
c)XML文檔可承載各種信息;
d)XML只是為了生成結構化文檔;
?
1.裝箱、拆箱操作發生在: ( C )
A.類與對象之間?? B.對象與對象之間
C.引用類型與值類型之間?? D.引用類型與引用類型之間
2.用戶類若想支持Foreach語句需要實現的接口是: ( A )
A.IEnumerableB.IEnumerator
C.ICollectionD.ICollectData
3..Net Framework通過什么與COM組件進行交互操作?(?? C )
A.Side By SideB.Web Service
C.InteropD.PInvoke
4..Net依靠以下哪一項技術解決COM存在的Dll Hell問題的?( A?? )
A.Side By SideB.Interop
C.PInvokeD.COM+
5.裝箱與拆箱操作是否是互逆的操作?( B )
A.是B.否
6.以下哪個是可以變長的數組?( D )
A.Array????????????????????? B.string[]
C.string[N]????????????????? D.ArrayList
7.用戶自定義異常類需要從以下哪個類繼承:( A )
A.Exception???????????????????????????? B.CustomException
C.ApplicationException????????????????? D.BaseException
8.以下代碼段中能否編譯通過?請給出理由。
try
{
}
catch(FileNotFoundException e1)
{
}
catch(Exception e2)
{
}
catch(IOException e3)
{
}
catch
{
}
9.對于一個實現了IDisposable接口的類,以下哪些項可以執行與釋放或重置非托管資源相關的應用程序定義的任務?(多選) (?? ABC???? )
A.Close???????????????? B.DisposeC.Finalize
D.using???????????????? E.Quit
10.Net依賴以下哪項技術實現跨語言互用性?( C )
A.CLR?????????????? B.CTS?????????????? C.CLS????????????????? D.CTT
11.請問: String類與StringBuilder類有什么區別?為什么在.Net類庫中要同時存在這2個類?(簡答)
如果要操作一個不斷增長的字符串,盡量不用String類,改用StringBuilder類。兩個類的工作原理不同:String類是一種傳統的修改字符串的方式,它確實可以完成把一個字符串添加到另一個字符串上的工作沒錯,但是在.NET框架下,這個操作實在是劃不來。因為系統先是把兩個字符串寫入內存,接著刪除原來的String對象,然后創建一個String對象,并讀取內存中的數據賦給該對象。這一來二去的,耗了不少時間。而使用System.Text命名空間下面的StringBuilder類就不是這樣了,它提供的Append方法,能夠在已有對象的原地進行字符串的修改,簡單而且直接。當然,一般情況下覺察不到這二者效率的差異,但如果你要對某個字符串進行大量的添加操作,那么StringBuilder類所耗費的時間和String類簡直不是一個數量級的。
12.以下哪個類是int的基類?(??? )
A.Int32????????????? B.Object????????? C.ValueType??????????? D.Int16
?
二、C# 部分*
13.以下哪些可以作為接口成員?(多選) ( ABDE )
A.方法B.屬性C.字段D.事件E.索引器
F.構造函數G.析構函數
14.以下關于ref和out的描述哪些項是正確的?(多選) (?? ACD???? )
A.使用ref參數,傳遞到ref參數的參數必須最先初始化。
B.使用out參數,傳遞到out參數的參數必須最先初始化。
C.使用ref參數,必須將參數作為ref參數顯式傳遞到方法。
D.使用out參數,必須將參數作為out參數顯式傳遞到方法。
15.“訪問范圍限定于此程序或那些由它所屬的類派生的類型”是對以下哪個成員可訪問性含義的正確描述?( B?? )
A.public??????? B.protected??????????? C.internal???????? D.protected internal
16.class Class1
{
??? private static int count = 0;
??? static Class1()
??? {
??????? count++;
??? }
??? public Class1()
??? {
??????? count++;
??? }
}
Class1 o1 = new Class1();
Class1 o2 = new Class1();
請問,o1.Count的值是多少?( C )
A.1???????? B.2???????????? C.3???????????? D.4
17.abstract class BaseClass
{
??? public virtual void MethodA()
??? {
??? }
??? public virtual void MethodB()
??? {
??? }
}
class Class1: BaseClass
{
??? public void MethodA(string arg)
??? {
??? }
??? public override void MethodB()
??? {
??? }
}
class Class2: Class1
{
??? new public void MethodB()
??? {
??? }
}
class MainClass
{
??? public static void Main(string[] args)
??? {
??????? Class2 o = new Class2();
??????? Console.WriteLine(o.MethodA());
??? }
}
請問,o.MethodA調用的是: ( A )
A.BaseClass.MethodAB.Class2.MethodA
C.Class1.MethodAD.都不是
18.請敘述屬性與索引器的區別。
屬性 索引器????
通過名稱標識。 通過****標識。????
通過簡單名稱或成員訪問來訪問。 通過元素訪問來訪問。????
可以為靜態成員或實例成員。 必須為實例成員。????
屬性的?? get?? 訪問器沒有參數。 索引器的?? get?? 訪問器具有與索引器相同的形參表。????
屬性的?? set?? 訪問器包含隱式?? value?? 參數。 除了?? value?? 參數外,索引器的?? set?? 訪問器還具有與索引器相同的形參表。
19.請敘述const與readonly的區別。
每一個class至多只可以定義一個static構造函數,并且不允許增加訪問級別關鍵字,參數列必須為空。
??????? 為了不違背編碼規則,通常把static數據成員聲明為private,然后通過statci property提供讀寫訪問。
??????? const 關鍵字用于修改字段或局部變量的聲明。它指定字段或局部變量的值不能被修改。常數聲明引入給定類型的一個或多個常數。
??????? const數據成員的聲明式必須包含初值,且初值必須是一個常量表達式。因為它是在編譯時就需要完全評估。
??????? const成員可以使用另一個const成員來初始化,前提是兩者之間沒有循環依賴。
??????? readonly在運行期評估賦值,使我們得以在確保“只讀訪問”的前提下,把object的初始化動作推遲到運行期進行。
??????? readonly 關鍵字與 const 關鍵字不同: const 字段只能在該字段的聲明中初始化。readonly 字段可以在聲明或構造函數中初始化。因此,根據所使用的構造函數,readonly 字段可能具有不同的值。另外,const 字段是編譯時常數,而 readonly 字段可用于運行時常數。
readonly 只能在聲明時或者構造函數里面初始化,并且不能在 static 修飾的構造函數里面。
?
21.您需要創建一個ASP.NET應用程序,公司考慮使用Windows身份認證。
所有的用戶都存在于AllWin這個域中。您想要使用下列認證規則來配置這個應用程序:
a、 匿名用戶不允許訪問這個應用程序。
b、 所有雇員除了Tess和King都允許訪問這個應用程序。
請問您應該使用以下哪一個代碼段來配置這個應用程序?( A )
A. <authorization>
<deny users=”allwin\tess, allwin\king”>
<allow users=”*”>
<deny users=”?”>
</authorization>
B. <authorization>
<allow users=”*”>
<deny users=”allwin\tess, allwin\king”>
<deny users=”?”>
</authorization>
C. <authorization>
<deny users=”allwin\tess, allwin\king”>
<deny users=”?”>
<allow users=”*”>
</authorization>
D. <authorization>
<allow users=”allwin\tess, allwin\king”>
<allow users=”*”>
</authorization>
E.<authorization>
<allow users=”*”>
<deny users=”allwin\tess, allwin\king”>
22.您要創建一個顯示公司員工列表的應用程序。您使用一個DataGrid控件顯示員工的列表。您打算修改這個控件以便在這個Grid的Footer顯示員工合計數。請問您應該怎么做?( C? )
A.重寫OnPreRender事件,當Grid的Footer行被創建時顯示合計數。
B.重寫OnItemCreated事件,當Grid的Footer行被創建時顯示合計數。
C.重寫OnItemDataBound事件,當Grid的Footer行被創建時顯示合計數。
D. 重寫OnLayout事件,當Grid的Footer行被創建時顯示合計數。
23.您要創建ASP.NET應用程序用于運行AllWin公司內部的Web站點,這個應用程序包含了50個頁面。您想要配置這個應用程序以便當發生一個HTTP代碼錯誤時它可以顯示一個自定義的錯誤頁面給用戶。您想要花最小的代價完成這些目標,您應該怎么做?(多選)( CD?? )
A.在這個應用程序的Global.asax文件中創建一個Application_Error過程去處理ASP.NET代碼錯誤。
B.在這個應用程序的Web.config文件中創建一個applicationError節去處理ASP.NET代碼錯誤。
C.在這個應用程序的Global.asax文件中創建一個CustomErrors事件去處理HTTP錯誤。
D.在這個應用程序的Web.config文件中創建一個CustomErrors節去處理HTTP錯誤。
E.在這個應用程序的每一頁中添加一個Page指示符去處理ASP.NET 代碼錯誤。
F. 在這個應用程序的每一頁中添加一個Page指示符去處理ASP.NET HTTP錯誤。
24.您的公司有一個DB Server,名為AllWin,其上裝了MS SQLSERVER 2000。現在需要您寫一個數據庫連接字符串,用以連接AllWin上SQL SERVER中的一個名為PubBase實例的Test庫。請問,應該選擇下面哪一個字符串?( B )
A. “Server=AllWin;Data Source=PubBase;Initial Catalog=Test;Integrated Security=SSPI”
B. “Server= AllWin;Data Source=PubBase;Database=Test;Integrated Security= SSPI”
C. “Data Source= AllWin \PubBase;Initial Category=PubBase;Integrated Security= SSPI”
D. “Data Source= AllWin \ PubBase;Database=Test;Integrated Security= SSPI”
25.您為AllWin公司創建了一個ASP.NET應用程序。這個應用程序調用一個 Xml Web Service。這個 Xml Web Service 將返回一個包含了公司雇員列表的DataSet對象。請問您該如何在這個程序中使用這個 Xml Web Service?( ? )
A.在“引用”對話框的.Net標簽中選擇 System.Web.Services.dll。
B.在“Web引用”對話框中輸入這個 XML Web service 的地址。
C.在您的 Global.asax.cs 中添加一條 using 語句并指定這個 XML Web service 的地址。
D.在您的 Global.asax.cs 中寫一個事件處理器導入這個 Xml Web Service 相應的 .wsdl 和 .disco 文件。
26.您要創建一個ASP.NET應用程序在DataGrid控件中顯示一個經過排序的列表。產品數據被存放于一個名為PubBase的Microsoft SQL Server 數據庫。每個產品的主鍵是ProductID,Numeric型并且每個產品有一個字母描述字段,名為ProductName。您使用一個SqlDataAdapter對象和一個SqlCommand對象通過調用一個存儲過程從數據庫中獲取產品數據。您將SqlCommand對象的CommandType屬性設置為CommandType.StoredProcedure,并將它的CommandText屬性設置為procProductList。您成功的獲取了一個DataTable對象,其中是已經按ProductID降序排列的產品列表。您打算顯示以相反的字母順序排列的ProductName,請問該怎么做? ( B )
A. 將SqlCommand對象的CommandType屬性修改為CommandType.Text,將CommandText屬性修改為”SELECT * FROM procProductList ORDER BY ProductName DESC”。然后將這個DataTable對象綁定到DataGrid控件。
B. 創建一個基于這個DataTable對象的新的DataView并將這個DataView的Sort屬性設置為“ProductName DESC”。然后將這個DataView對象綁定到DataGrid控件。
C. 將DataGrid控件的AllowSorting屬性設置為True,并將DataGridColumn的SortExpression屬性設置為 “ProductName DESC”.以顯示ProductName。然后將這個DataTable對象綁定到DataGrid控件。
D. 將DataTable對象的DisplayExpression屬性設置為 “ORDER BY ProductName DESC”.。然后將這個DataTable對象綁定到DataGrid控件。
</authorization>
76.C#代碼實現,確保windows程序只有一個實例(instance)
轉載于:https://www.cnblogs.com/crazybird/articles/1107890.html
總結
以上是生活随笔為你收集整理的.net面试题大全,绝大部分面试题(有答案)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SQL2005的库能不转成SQL2000
- 下一篇: 理想汽车是哪里产的 到底是国产还是合