7.请编程遍历页面上所有textbox控件并给它赋值为string.empty? 答: foreach (system.web.ui.control control in this.Form.controls) { if (control is system.web.ui.webcontrils.textbox) { system.web.ui.webcontrils.textbox tb = (system.web.ui.webcontrils.textbox)control ; tb.text = string.empty ; } }
8.请编程实现一个冒泡排序算法? 答: 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 (array[j] array[i]) { temp = array[i] ; array[i] = array[j] ; array[j] = temp ; } } }
9.描述一下c#中索引器的实现过程,是否只能根据数字进行索引? 答:不是。可以用任意类型。
10.求以下表达式的值,写出您想到的一种或几种实现方法: 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); } 当使用new b()创建b的实例时,产生什么输出? 答:x=1,y=0;
26.根据委托(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)) { //请在以下补齐代码用来调用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; 以上代码执行完后,i= j= 答:i=13,j=10
28.sqlserver服务器中,给定表 table1 中有两个字段 id、lastupdatedate,id表示更新的事务号, lastupdatedate表示更新时的服务器时间,请使用一句sql语句获得最后更新的事务号 答:select id from table1 where lastupdatedate = (select max(lastupdatedate) from table1)
29.根据线程安全的相关知识,分析以下代码,当调用test方法时i>10时是否会引起死锁?并简要说明理由。 public void test(int i) { lock(this) { if (i>10) { i--; test(i); } } } 答:不会发生死锁,(但有一点int是按值传递的,所以每次改变的都只是一个副本,因此不会出现死锁。但如果把int换做一个object,那么死锁会发生)
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可能不是连续的。 答:解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这两个关键字有什么意义,请写出你所知道的意义?using 指令 和语句 new 创建实例 new 隐藏基类中同名方法。 答:using 引入名称空间或者using代码块内资源自动释放 new 新建实例或者隐藏父类方法
68.需要实现对一个字符串的处理,首先将该字符串首尾的空格去掉,如果字符串中间还有连续空格的话,仅保留一个空格,即允许字符串中间有多个空格,但连续的空格数不可超过一个. 答: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"); 答:不相等,因为比较的是对象
87.public static const int a=1;这段代码有错误么?是什么? 答:const不能用static修饰。
88.float f=-123.567f; int i=(int)f;i的值现在是_____? 答:-123。
89.委托声明的关键字是______? 答:delegate.
90.用sealed修饰的类有什么特点? 答:密封,不能继承。
91.在asp.net中所有用户控件都必须继承自________? 答:usercontrol。
92.在.net中所有可序列化的类都被标记为_____? 答:[serializable]
93.在.net托管代码中我们不用担心内存漏洞,这是因为有了______? 答:gc。
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.当类t只声明了私有实例构造函数时,则在t的程序文本外部,___可以___(可以 or 不可以)从t派生出新的类,不可以____(可以 or 不可以)直接创建t的任何实例。 答:不可以,不可以。
96.下面这段代码有错误么? switch (i){ case: casezero(); break; case 1: caseone(); break; case 2: dufault; casetwo(); break; }
100.在.net(c# or vb.net)中如何用户自定义消息,并在窗体中处理这些消息。 答:在form中重载defwndproc函数来处理消息: protected override void defwndproc ( ref system.winforms.message m ) { switch(m.msg) { case wm_lbutton : ///string与mfc中的cstring的format函数的使用方法有所不同 string message = string.format("收到消息!参数为:{0},{1}",m.wparam,m.lparam); messagebox.show(message);///显示一个消息框 break; case user: 处理的代码 default: base.defwndproc(ref m);///调用基类函数处理非自定义消息。 break; } }
101.在.net(c# or vb.net)中如何取消一个窗体的关闭。 答:private void form1_closing(object sender, system.componentmodel.canceleventargs e) {
e.cancel=true; }
102.在.net(c# or vb.net)中,appplication.exit 还是 form.close有什么不同? 答:一个是退出整个应用程序,一个是关闭其中一个form。
103.在c#中有一个double型的变量,比如10321.5,比如122235401.21644,作为货币的值如何按各个不同国家的习惯来输出。比如美国用$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个字母,密码中的单词从左向右排列,密码单词必须遵循如下规则: (1) 密码单词的最小长度是两个字母,可以相同,也可以不同 (2) k不可能是单词的第一个字母 (3) 如果l出现,则出现次数不止一次 (4) m不能使最后一个也不能是倒数第二个字母 (5) k出现,则n就一定出现 (6) o如果是最后一个字母,则l一定出现 问题一:下列哪一个字母可以放在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; 以上代码执行完后,i= j= 答:i=13.j=10
124.sqlserver服务器中,给定表 table1 中有两个字段 id、lastupdatedate,id表示更新的事务号, lastupdatedate表示更新时的服务器时间,请使用一句sql语句获得最后更新的事务号 答:select id from table1 where lastupdatedate = (select max(lastupdatedate) from table1)