一.填空題
1.c#中的三元運算符是__?:___?
2.當(dāng)整數(shù)a賦值給一個object對象時,整數(shù)a將會被__裝箱(封裝)___?
3.類成員有_____種可訪問形式? this.;new Class().Method;
4.public static const int A=1;這段代碼有錯誤么?是什么? const不能用static修飾
5.float f=-123.567F;
int i=(int)f;
i的值現(xiàn)在是_____? 123
6.利用operator聲明且僅聲明了“==”,有什么錯誤么?
7.委托聲明的關(guān)鍵字是______? delagete
8.用sealed修飾的類有什么特點?密封,不能繼承
9.在Asp.net中所有的自定義用戶控件都必須繼承自________?Control
10.在.Net中所有可序列化的類都被標(biāo)記為_____?
11.在.Net托管代碼中我們不用擔(dān)心內(nèi)存漏洞,這是因為有了______?gc
12.下面的代碼中有什么錯誤嗎?_______
using System;
class A
{
public virtual void F(){
Console.WriteLine(“A.F”);
}
}
abstract class B:A
{
public abstract override void F(); // new public abstract void F();
}
13.當(dāng)類T只聲明了私有實例構(gòu)造函數(shù)時,則在T的程序文本外部,___可以___(可以 or 不可以)從T派生出新的類,不可以____(可以 or 不可以)直接創(chuàng)建T的任何實例。
14.下面這段代碼有錯誤么?
switch (i){
case():
CaseZero();
break;
case 1:
CaseOne();
break;
case 2:
dufault; //wrong
CaseTwo();
break;
}
15.在.Net中,類System.Web.UI.Page 可以被繼承么?可以
二.簡答題
1.在c#中using和new這兩個關(guān)鍵字有什么意義,請寫出你所知道的意義?using 指令 和語句 new 創(chuàng)建實例 new 隱藏基類中方法
4.談?wù)勵惡徒Y(jié)構(gòu)的區(qū)別?類是引用類型、結(jié)構(gòu)是值類型
5.一個長度為10000的字符串,通過隨機從a-z中抽取10000個字符組成。請用c#語言編寫主要程序來實現(xiàn)。
6.對于這樣的一個枚舉類型:
enum Color:byte{
Red,
Green,
Blue,
Orange
}
string[] ss=Enum.GetNames(typeof(Color));
byte[] bb=Enum.GetValues(typeof(Color));
試寫一段程序顯示出枚舉類型中定義的所有符號名稱以及它們對應(yīng)的數(shù)值。
7.您了解設(shè)計模式么?請列出您所知道的設(shè)計模式的名稱。 //
8.請在SQL Server中設(shè)計表來保存一個樹狀結(jié)構(gòu)的組織結(jié)構(gòu)圖(假設(shè)結(jié)構(gòu)圖中只有名稱這一項內(nèi)容需要保存),如果我想查詢某一職位下的所有職位,用一個存儲過程來實現(xiàn),你有什么思路?
9.什么叫做SQL注入,如何防止?請舉例說明。
10.下面這段代碼輸出什么?為什么?
int i=5;
int j=5;
if (Object.ReferenceEquals(i,j))
Console.WriteLine(“Equal”);
else
Console.WriteLine(“Not Equal”);
//不相等,因為比較的是對象