dotnet(C#)的试题,大家共享一下

  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将数据全部加载在内存中.所以比较消耗内存dot.gif但是确比DataReader要灵活..可以动态的添加行,列,数据.对数据库进行回传更新操作dot.gif
 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和$ 122 235 401 .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  8 62 - 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 

转载于:https://www.cnblogs.com/catbim/archive/2006/04/12/373368.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值