10.求以下表達式的值,寫出您想到的一種或幾種實現(xiàn)方法: 1-2+3-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 ; } else { sum = sum - i ; } } system.console.writeline(sum.tostring()); system.console.readline() ;
12.在下面的例子里 using system; class a { public a() { printfields(); } public virtual void printfields(){} } class b:a { 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的實例時,產(chǎn)生什么輸出? 答:x=1,y=0;
26.根據(jù)委托(delegate)的知識,請完成以下用戶控件中代碼片段的填寫: namespace test { public delegate void ondboperate(); public class usercontrolbase : system.windows.forms.usercontrol { public event ondboperate onnew; Onnew+=new ondboperate(Method); privatevoidtoolbar_butt(objectsender,system.windows.forms.toolbarbutteventargs e) { if(e.button.equals(btnnew)) { //請在以下補齊代碼用來調(diào)用ondboperate委托簽名的onnew事件。 } } } Void Method() {;} 答:if( onnew != null ) onnew();
27.分析以下代碼,完成填空 string strtmp = "abcdefg某某某"; int i= system.text.encoding.default.getbytes(strtmp).length; int j= strtmp.length; 以上代碼執(zhí)行完后,i= j= 答:i=13,j=10
28.sqlserver服務(wù)器中,給定表 table1 中有兩個字段 id、lastupdatedate,id表示更新的事務(wù)號, lastupdatedate表示更新時的服務(wù)器時間,請使用一句sql語句獲得最后更新的事務(wù)號 答:select id from table1 where lastupdatedate = (select max(lastupdatedate) from table1)
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ā)生死鎖,(但有一點int是按值傳遞的,所以每次改變的都只是一個副本,因此不會出現(xiàn)死鎖。但如果把int換做一個object,那么死鎖會發(fā)生)
32.給定以下xml文件,完成算法流程圖。 filesystem> driverc > dir dirname=”msdos622”> file filename =” command.com” >/file> /dir> file filename =”msdos.sys” >/file> file filename =” 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 ); } }
33.寫出一條sql語句:取出表a中第31到第40記錄(sqlserver,以自動增長的id作為主鍵,注意:id可能不是連續(xù)的。 答:解1: select top 10 * from a where id not in (select top 30 id from a) 解2: select top 10 * from a where id > (select max(id) from (select top 30 id from a )as a)
67.在c#中using和new這兩個關(guān)鍵字有什么意義,請寫出你所知道的意義?using 指令 和語句 new 創(chuàng)建實例 new 隱藏基類中同名方法。 答:using 引入名稱空間或者using代碼塊內(nèi)資源自動釋放 new 新建實例或者隱藏父類方法
68.需要實現(xiàn)對一個字符串的處理,首先將該字符串首尾的空格去掉,如果字符串中間還有連續(xù)空格的話,僅保留一個空格,即允許字符串中間有多個空格,但連續(xù)的空格數(shù)不可超過一個. 答:string inputstr=" x x xx "; inputstr=System.Text.RegulaExpresion.Regex.Replace(inputstr.trim()," +"," ");
69.下面這段代碼輸出什么?為什么? int i=5; int j=5; if (object.referenceequals(i,j)) console.writeline("equal"); else console.writeline("not equal"); 答:不相等,因為比較的是對象
94.下面的代碼中有什么錯誤嗎?_______ using system; abstract class a { public virtual void f(){ console.writeline("a.f"); } } class b:a { public abstract override void f(); 答:abstract override 是不可以一起修飾. } // new public abstract void f();
95.當(dāng)類t只聲明了私有實例構(gòu)造函數(shù)時,則在t的程序文本外部,___可以___(可以 or 不可以)從t派生出新的類,不可以____(可以 or 不可以)直接創(chuàng)建t的任何實例。 答:不可以,不可以。
96.下面這段代碼有錯誤么? switch (i){ case: casezero(); break; case 1: caseone(); break; case 2: dufault; casetwo(); break; }
100.在.net(c# or vb.net)中如何用戶自定義消息,并在窗體中處理這些消息。 答:在form中重載defwndproc函數(shù)來處理消息: protected override void defwndproc ( ref system.winforms.message m ) { switch(m.msg) { case wm_lbutton : ///string與mfc中的cstring的format函數(shù)的使用方法有所不同 string message = string.format("收到消息!參數(shù)為:{0},{1}",m.wparam,m.lparam); messagebox.show(message);///顯示一個消息框 break; case user: 處理的代碼 default: base.defwndproc(ref m);///調(diào)用基類函數(shù)處理非自定義消息。 break; } }
101.在.net(c# or vb.net)中如何取消一個窗體的關(guān)閉。 答:private void form1_closing(object sender, system.componentmodel.canceleventargs e) {
e.cancel=true; }
102.在.net(c# or vb.net)中,appplication.exit 還是 form.close有什么不同? 答:一個是退出整個應(yīng)用程序,一個是關(guān)閉其中一個form。
103.在c#中有一個double型的變量,比如10321.5,比如122235401.21644,作為貨幣的值如何按各個不同國家的習(xí)慣來輸出。比如美國用$10,321.50和$122,235,401.22而在英國則為£10 321.50和£122 235 401.22 答:system.globalization.cultureinfo myculture = new system.globalization.cultureinfo("en-us"); //system.globalization.cultureinfo myculture = new //system.globalization.cultureinfo("en-gb");為英 國 貨幣類型 decimal y = 9999999999999999999999999999m; string str = string.format(myculture,"my amount = {0:c}",y);
104.某一密碼僅使用k、l、m、n、o共5個字母,密碼中的單詞從左向右排列,密碼單詞必須遵循如下規(guī)則: (1) 密碼單詞的最小長度是兩個字母,可以相同,也可以不同 (2) k不可能是單詞的第一個字母 (3) 如果l出現(xiàn),則出現(xiàn)次數(shù)不止一次 (4) m不能使最后一個也不能是倒數(shù)第二個字母 (5) k出現(xiàn),則n就一定出現(xiàn) (6) o如果是最后一個字母,則l一定出現(xiàn) 問題一:下列哪一個字母可以放在lo中的o后面,形成一個3個字母的密碼單詞? a) k b)l c) m d) n 答案:
123.分析以下代碼,完成填空 string strtmp = "abcdefg某某某"; int i= system.text.encoding.default.getbytes(strtmp).length; int j= strtmp.length; 以上代碼執(zhí)行完后,i= j= 答:i=13.j=10
124.sqlserver服務(wù)器中,給定表 table1 中有兩個字段 id、lastupdatedate,id表示更新的事務(wù)號, lastupdatedate表示更新時的服務(wù)器時間,請使用一句sql語句獲得最后更新的事務(wù)號 答:select id from table1 where lastupdatedate = (select max(lastupdatedate) from table1)