web develop

行胜于言

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  1 收集一些C#的试题,准备在自己学的差不多时来考验一下自己,共享给大家,一起学习!
  2 
  3 1<%%> 和 <%  %> 有什么区别?
  4 <%%>表示绑定的数据源
  5 <% %>是服务器端代码块
  6 2.以下代码能否通过编译?如果不能,请改成正确代码,并说明原因。
  7 <html>
  8    <%
  9        int subtract(int num1, int num2) {
 10           return num1-num2;
 11        }
 12    %>
 13    <body>
 14       <% 
 15          int number = 100;
 16          while (number > 0) {
 17             Response.Write("value: " + number + "<br/>");
 18             number = subtract(number, 1);
 19          }
 20       %>
 21    </body>
 22 </html> 
 23 3.通过Web Site Administration Tool (in VS2005) 可以实现哪些功能?Web Site Administration Tool 会自动对哪些文件进行修改或添加?
 24 
 25 4.解释一下带 “original_” 前缀的Data Parameter和不带前缀的Data Parameter有什么异同。(可用简单的代码说明)
 26 
 27 5.修改下面的代码段,使GridView能Update数据。
 28 <%@ Page Language="C#" %>
 29 <html>
 30   <head runat="server">
 31     <title>GridView</title>
 32   </head>
 33   <body>
 34     <form id="form1" runat="server">
 35       <asp:GridView ID="GridView1" AllowSorting="true" AllowPaging="true" Runat="server"
 36         DataSourceID="SqlDataSource1" DataKeyNames="id" AutoGenerateColumns="False">
 37         <Columns>
 38           <asp:BoundField ReadOnly="true" HeaderText="ID" DataField="id" SortExpression="id" />
 39           <asp:BoundField HeaderText="Last Name" DataField="lname" SortExpression="lname" />
 40           <asp:BoundField HeaderText="First Name" DataField="fname" SortExpression="fname" />
 41         </Columns>
 42       </asp:GridView>
 43       <asp:SqlDataSource ID="SqlDataSource1" Runat="server" 
 44 SelectCommand="SELECT [id], [lname], [fname] FROM [authors]"
 45         ConnectionString="<%$ ConnectionStrings:Pubs %>" />
 46     </form>
 47   </body>
 48 </html>
 49 
 50 6.GridView没有内置Insert 数据的功能,如果想在GridView内Insert数据,你有什么想法?
 51 
 52 7.ASP.NET 2.0 哪个(些)特性是你觉得最激动人心的?为什么?(也可以谈C#2.0
 53    ASP.NET 2.0相对于1.1突出了3大理念,
 54      1,提高生产力
 55 A 一致性(masterpage)
 56 B 会员管理
 57 C 资料存取
 58 D 个性化
 59      2 管理能力的提高(例如WEB.CONFIG)
 60      3 提升效能,满足更多人的访问
 61 
 62 8.你觉得ASP.NET 2.0(VS2005)和你以前使用的开发工具(.Net 1.0或其他)有什么最大的区别?你在以前的平台上使用的哪些开发思想(pattern / architecture)可以移植到ASP.NET 2.0上 (或者已经内嵌在ASP.NET 2.0中)
 63 
 64   1  ASP.NET 2.0 把一些代码进行了封装打包,所以相比1.0相同功能减少了很多代码.
 65   2  同时支持代码分离和页面嵌入服务器端代码两种模式,以前1.0版本,.NET提示帮助只有在分离的代码文件,无法在页面嵌入服务器端代码获得帮助提示,
 66   3 代码和设计界面切换的时候,2.0支持光标定位.这个我比较喜欢
 67   4 在绑定数据,做表的分页.UPDATE,DELETE,等操作都可以可视化操作,方便了初学者
 68   5, 在ASP.NET中增加了40多个新的控件,减少了工作量
 69 
 70  
 71 
 72   
 73 ===================
 74  
 75    
 76 1、override与重载的区别
 77 2、.net的错误处理机制是什么
 78 3、C#中接口和类的异同
 79 4、DataReader和DataSet的异同
 80 
 81 Override用来重写父类的方法,重载使用相同名的方法或操作符拥有不同类型的参数
 82 
 83 .net错误处理机制采用try->catch->finally结构,发生错误时,层层上抛,直到找到匹配的Catch为止。
 84 
 85 接口和类都是类,不同的事,接口只包含方法或属性的声明,不包含具体实现方法的代码,接口可以实现多继承,而类只能是单继承,继承接口的类必须实现接口中声明的方法或属性。接口主要定义一种规范,统一调用方法,在大型项目中接口正发挥日益重要的作用。
 86 
 87 DataReader用于读取数据,DataSet用于在内存中保存数据。
 88 
 89 重载与覆盖的区别
 90 1、方法的覆盖是子类和父类之间的关系,是垂直关系;方法的重载是同一个类中方法之间的关系,是水平关系。
 91 2、覆盖只能由一个方法,或只能由一对方法产生关系;方法的重载是多个方法之间的关系。
 92 3、覆盖要求参数列表相同;重载要求参数列表不同。
 93 4、覆盖关系中,调用那个方法体,是根据对象的类型(对象对应存储空间类型)来决定;重载关系,是根据调用时的实参表与形参表来选择方法体的。
 94 
 95 4、DataReader和DataSet的异同
 96 DataReader和DataSet最大的区别在于,DataReader使用时始终占用SqlConnection,在线操作数据库..任何对SqlConnection的操作都会引发DataReader的异常..因为DataReader每次只在内存中加载一条数据,所以占用的内存是很小的..因为DataReader的特殊性和高性能.所以DataReader是只进的..你读了第一条后就不能再去读取第一条了..
 97 DataSet则是将数据一次性加载在内存中.抛弃数据库连接..读取完毕即放弃数据库连接..因为DataSet将数据全部加载在内存中.所以比较消耗内存但是确比DataReader要灵活..可以动态的添加行,列,数据.对数据库进行回传更新操作
 98 
 99   
100  
101 
102  
103 ===============
104  
105  
106    
107 一.填空题
108 1.c#中的三元运算符是_____?
109 2.当整数a赋值给一个object对象时,整数a将会被_____?
110 3.类成员有_____种可访问形式?
111 4.public static const int A=1;这段代码有错误么?是什么?
112 5.float f=-123.567F;
113   int i=(int)f;
114 i的值现在是_____?
115 6.利用operator声明且仅声明了==,有什么错误么?
116 7.委托声明的关键字是______?
117 8.用sealed修饰的类有什么特点?
118 9.在Asp.net中所有的自定义用户控件都必须继承自________?
119 10.在.Net中所有可序列化的类都被标记为_____?
120 11.在.Net托管代码中我们不用担心内存漏洞,这是因为有了______?
121 12.下面的代码中有什么错误吗?_______
122      using System;
123      class A
124      {
125           public virtual void F(){
126               Console.WriteLine("A.F");
127            }
128       }
129       abstract class B:A
130        {
131            public abstract override void F();
132        }
133 
134 13.当类T只声明了私有实例构造函数时,则在T的程序文本外部,______(可以 or 不可以)从T
135 
136 派生出新的类,____(可以 or 不可以)直接创建T的任何实例。
137 14.下面这段代码有错误么?
138     switch (i){
139     case():
140         CaseZero();
141         break;
142     case 1:
143         CaseOne();
144         break;
145     case 2:
146         dufault;
147         CaseTwo();
148         break;
149    }
150 15.在.Net中,类System.Web.UI.Page 可以被继承么?
151 
152 二.简答题
153 1.在c#中using和new这两个关键字有什么意义,请写出你所知道的意义?
154 2.在下面的例子里
155      using System;
156      class A
157      {
158           public A(){
159                 PrintFields();
160            }
161           public virtual void PrintFields(){}
162       }
163       class B:A
164       {
165            int x=1;
166            int y;
167            public B(){
168                y=-1;
169            }
170            public override void PrintFields(){
171                Console.WriteLine("x={0},y={1}",x,y);
172            }
173 当使用new B()创建B的实例时,产生什么输出?
174 3.下面的例子中
175 
176      using System;
177      class A
178      {
179           public static int X;
180           static A(){
181                X=B.Y+1;
182           }
183       }
184       class B
185       {
186            public static int Y=A.X+1;
187            static B(){}
188            static void Main(){
189                 Console.WriteLine("X={0},Y={1}",A.X,B.Y);
190            }
191        }
192 产生的输出结果是什么?
193 4.谈谈类和结构的区别?
194 5.一个长度为10000的字符串,通过随机从a-z中抽取10000个字符组成。请用c#语言编写主要程
195 
196 序来实现。
197 6.对于这样的一个枚举类型:
198       enum Color:byte{
199           Red,
200           Green,
201           Blue,
202           Orange
203        }
204 试写一段程序显示出枚举类型中定义的所有符号名称以及它们对应的数值。
205 7.您了解设计模式么?请列出您所知道的设计模式的名称。
206 8.请在SQL Server中设计表来保存一个树状结构的组织结构图(假设结构图中只有名称这一项内容
207 
208 需要保存),如果我想查询某一职位下的所有职位,用一个存储过程来实现,你有什么思路?
209 9.什么叫做SQL注入,如何防止?请举例说明。
210 10.下面这段代码输出什么?为什么?
211      int i=5;
212      int j=5;
213      if (Object.ReferenceEquals(i,j))
214           Console.WriteLine("Equal");
215      else
216           Console.WriteLine("Not Equal");
217 
218 
219 1 ?:
220 2 装箱
221 3 3种
222 4 const成员都是static所以应该去掉static
223 5 -123
224 6 要同时修改Equale和GetHash() ? 重载了"==" 就必须重载 "!="
225 7 delegate 
226 8 不可被继承
227 9 System.Web.UI.UserControl
228 10 [serializable]
229 11 gC
230 12 abstract override 是不可以一起修饰
231 13 不可以,不可以
232 14 case():不行 default;
233 15 可以
234 
235 1 Using 引入一个名子空间,或在使用了一个对像后自动调用其IDespose,New 实例化一个对
236 
237 像,或修饰一个方法,表此方法完全重写此方法,
238 2 X=1,Y=0
239 3 x=1,y=2
240 4 最大区别一个是引用类型,一个是值类型   默认成员访问为public是另外一个区别
241 
242  
243 
244 
245   
246  
247 =========================================================
248  
249  
250    
251 .NET & C# 基础知识试题 (20%)
252 1. 在.net(C# or vb.net)中如何获得当前窗体或控件的句柄,特别是控件本身的句柄(请列举)。
253 答案:this(C#) Me(vb.net).
254 
255 2. 在.net(C# or vb.net)中如何用户自定义消息,并在窗体中处理这些消息。
256 答案:
257 在form中重载DefWndProc函数来处理消息:
258 protected override void DefWndProc ( ref System.WinForms.Message m ) 
259 
260 switch(m.msg) 
261 
262 case WM_Lbutton : 
263  ///string与MFC中的CString的Format函数的使用方法有所不同 
264  string message = string.Format("收到消息!参数为:{0},{1}",m.wParam,m.lParam); 
265  MessageBox.Show(message);///显示一个消息框 
266  break
267 case USER:
268 处理的代码
269 default
270  base.DefWndProc(ref m);///调用基类函数处理非自定义消息。 
271  break
272 
273 }
274 
275 3. 在.net(C# or vb.net)如何启动另一个程序。
276 答案:process
277 
278 4. 在.net(C# or vb.net)中如何取消一个窗体的关闭。
279 答案:
280 private void Form1_Closing(object sender, System.ComponentModel.CancelEventArgs e)
281  {
282     e.Cancel=true;
283  }
284 
285 5. 在.net(C# or vb.net)中,Appplication.Exit 还是 Form.Close有什么不同?
286 答案:一个是退出整个应用程序,一个是关闭其中一个form
287 
288 6. 在C#中有一个double型的变量,比如10321.5,比如122235401.21644,作为货币的值如何按各个不同国家的习惯来输出。比如美国用$10,321.50和$122235401.22而在英国则为£10  321.50和£122  235  401.22
289 答案:
290 System.Globalization.CultureInfo MyCulture = new System.Globalization.CultureInfo("en-US");
291 //System.Globalization.CultureInfo MyCulture = new System.Globalization.CultureInfo("en-GB");为英国货币类型
292 decimal y = 9999999999999999999999999999m;
293 string str = String.Format(MyCulture,"My amount = {0:c}",y);
294 
295 7. 某一密码仅使用K、L、M、N、O共5个字母,密码中的单词从左向右排列,密码单词必须遵循如下规则:
296 1)       密码单词的最小长度是两个字母,可以相同,也可以不同
297 2)       K不可能是单词的第一个字母
298 3)       如果L出现,则出现次数不止一次
299 4)       M不能使最后一个也不能是倒数第二个字母
300 5)       K出现,则N就一定出现
301 6)       O如果是最后一个字母,则L一定出现
302 问题一:下列哪一个字母可以放在LO中的O后面,形成一个3个字母的密码单词?
303   A) K   B)L   C) M    D) N
304 答案:B
305 
306 问题二:如果能得到的字母是K、L、M,那么能够形成的两个字母长的密码单词的总数是多少?
307   A)1个  B)3个  C)6个  D)9个
308 答案:A
309 
310 问题三:下列哪一个是单词密码?
311   A) KLLN   B) LOML   C) MLLO   D)NMKO
312 答案:C
313 
314 862-63=1 等式不成立,请移动一个数字(不可以移动减号和等于号),使得等式成立,如何移动?
315 答案:62移动成2的6次方
316 
317 
318 ========================
319  
320  
321    2.在下面的例子里
322      using System;
323      class A
324      {
325           public A(){
326                 PrintFields();
327            }
328           public virtual void PrintFields(){}
329       }
330       class B:A
331       {
332            int x=1;
333            int y;
334            public B(){
335                y=-1;
336            }
337            public override void PrintFields(){
338                Console.WriteLine("x={0},y={1}",x,y);
339            }
340 当使用new B()创建B的实例时,产生什么输出?
341 3.下面的例子中
342 
343      using System;
344      class A
345      {
346           public static int X;
347           static A(){
348                X=B.Y+1;
349           }
350       }
351       class B
352       {
353            public static int Y=A.X+1;
354            static B(){}
355            static void Main(){
356                 Console.WriteLine("X={0},Y={1}",A.X,B.Y);
357            }
358        }
359 产生的输出结果是什么?
360 这两题能不能详解一下?
361   
362 
363  
364 ==========================
365  
366  
367    using System;
368      class A
369      {
370           public A(){
371                 PrintFields();
372            }
373           public virtual void PrintFields(){}
374       }
375       class B:A
376       {
377            int x=1;
378            int y;
379            public B(){
380                y=-1;
381            }
382            public override void PrintFields(){
383                Console.WriteLine("x={0},y={1}",x,y);
384            }
385 当使用new B()创建B的实例时,产生什么输出?
386 
387 創建一個對象的時候是先構造基類再構造派生類.然後自己去理解了.
388 
389 
posted on 2006-04-12 15:53  曾经有梦  阅读(1480)  评论(1编辑  收藏  举报