通用c#面试题哥给你的啊

上传人:j****9 文档编号:47097310 上传时间:2018-06-29 格式:DOC 页数:21 大小:99.50KB
返回 下载 相关 举报
通用c#面试题哥给你的啊_第1页
第1页 / 共21页
通用c#面试题哥给你的啊_第2页
第2页 / 共21页
通用c#面试题哥给你的啊_第3页
第3页 / 共21页
通用c#面试题哥给你的啊_第4页
第4页 / 共21页
通用c#面试题哥给你的啊_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《通用c#面试题哥给你的啊》由会员分享,可在线阅读,更多相关《通用c#面试题哥给你的啊(21页珍藏版)》请在金锄头文库上搜索。

1、通用通用 C#C#面试题面试题 ( (附答案附答案) )1、在 C中,string str = null 与 string str = “” 请尽量使用文字或图象说明其中的区别。回答要点:说明详细的空间分配。(10 分)答:string str = null 是不给他分配内存空间,而 string str = “ 给它分配长度为空字符串的内存空间. 、请详述在 dotnet 中类(class)与结构(struct)的异同:(10 分)答:Class 可以被实例化,属于引用类型,可以被继承,可以有默认的构造函数,可以给字段赋值,是分配在内存的堆上的,Struct 属于值类型,不能被继承,不可以有

2、默认的构造函数,不能给字段赋值,是分配在内存的栈上的.3、根据委托(delegate)的知识,请完成以下用户控件中代码片段的填写:(10)namespace testpublic delegate void OnDBOperate();public class UserControlBase : System.Windows.Forms.UserControlpublic event OnDBOperate OnNew;privatevoidtoolBar_ButtonClick(objectsender,System.Windows.Forms.ToolBarButtonClickEvent

3、Args e)if(e.Button.Equals(BtnNew)/请在以下补齐代码用来调用 OnDBOperate 委托签名的 OnNew 事件。答:if( OnNew != null )OnNew( this, e ); 4、分析以下代码,完成填空(10 分)string strTmp = “abcdefg 某某某“;int i= System.Text.Encoding.Default.GetBytes(strTmp).Length;int j= strTmp.Length;以上代码执行完后,i= j=答:i=13,j=10 5、SQLSERVER 服务器中,给定表 table1 中有两

4、个字段 ID、LastUpdateDate,ID 表示更新的事务号, LastUpdateDate 表示更新时的服务器时间,请使用一句 SQL 语句获得最后更新的事务号。(10)答:Select ID FROM table1 Where LastUpdateDate = (Select MAX(LastUpdateDate) FROM table1)或者 Select TOP 1 ID FROM table1 ORDER BY LastUpdateDate DESC6、根据线程安全的相关知识,分析以下代码,当调用 test 方法时 i10 时是否会引起死锁?并简要说明理由。(10 分)publ

5、ic void test(int i)lock(this)if (i10)i-;test(i);答:不会发生死锁,(但有一点 int 是按值传递的,所以每次改变的都只是一个副本,因此不会出现死锁。但如果把 int 换做一个 object,那么死锁会发生)7、分析以下代码。(10)public static void test(string ConnectString)System.Data.OleDb.OleDbConnection conn = new System.Data.OleDb.OleDbConnection();conn.ConnectionString = ConnectStr

6、ing;tryconn.Open();.catch(Exception Ex)MessageBox.Show(Ex.ToString();finallyif (!conn.State.Equals(ConnectionState.Closed)conn.Close();请问1)以上代码可以正确使用连接池吗?答:回答:如果传入的 connectionString 是一模一样的话,可以正确使用连接池。不过一模一样的意思是,连字符的空格数,顺序完全一致。2)以上代码所使用的异常处理方法,是否所有在 test 方法内的异常都可以被捕捉并显示出来?答:只可以捕捉数据库连接中的异常吧. (finally

7、中,catch 中,如果有别的可能引发异常的操作,也应该用 try,catch。所以理论上并非所有异常都会被捕捉。)8、简要谈一下您对微软.NET 构架下 remoting 和 webservice 两项技术的理解以及实际中的应用。(10)答:WS 主要是可利用 HTTP,穿透防火墙。而 Remoting 可以利用 TCP/IP,二进制传送提高效率。9、公司要求开发一个继承 System.Windows.Forms.ListView 类的组件,要求达到以下的特殊功能:点击 ListView 各列列头时,能按照点击列的每行值进行重排视图中的所有行 (排序的方式如 DataGrid 相似)。根据您

8、的知识,请简要谈一下您的思路:(10)答:根据点击的列头,包该列的 ID 取出,按照该 ID 排序后,在给绑定到ListView 中10、给定以下 XML 文件,完成算法流程图。(10)请画出遍历所有文件名(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 )

9、FindFile( fof );简单的说就是从根节点开始遍历找子节点,在从找到的子节点找它的子节点,一层层下去1、C#中 property 与 attribute 的区别,他们各有什么用处,这种机制的好处在哪里?property 和 attribute 汉语都称之为属性。不过 property 是指类向外提供的数据区域。而 attribute 则是描述对象在编译时或运行时属性的。这两者是有本质区别的。2 .列举 ASP.NET 页面之间传递值的几种方式。 答. 1).使用 QueryString, 如.?id=1; response. Redirect(). 2).使用 Session 变量

10、3).使用 Server.Transfer4).使用 request.setAttribute()5).使用 response.setAttribute()3. 一列数的规则如下: 1、1、2、3、5、8、13、21、34. 求第 30 位数是多少, 用递归算法实现。答:public class MainClass public static void Main() Console.WriteLine(Foo(30); public static int Foo(int i) if (i 0 new Class().Method;87.public static const int A=1;这

11、段代码有错误么?是什么?答:const 不能用 static 修饰。88.float f=-123.567F; int i=(int)f;i 的值现在是_? 答:-123。89.委托声明的关键字是_?答:delegate.91.在 A 中所有的自定义用户控件都必须继承自_?答:Control。92.在.Net 中所有可序列化的类都被标记为_? 答:serializable93.在.Net 托管代码中我们不用担心内存漏洞,这是因为有了_?答:GC。94.下面的代码中有什么错误吗?_using System;class Apublic virtual void F()Console.WriteLi

12、ne(“A.F“);abstract class B:Apublic abstract override void F(); 答:abstract override 是不可以一起修饰. / new public abstract void F(); 95.当类 T 只声明了私有实例构造函数时,则在 T 的程序文本外部,_可以_(可以 or 不可以)从 T 派生出新的类,不可以_(可以 or 不可以)直接创建 T 的任何实例。答:不可以,不可以。96.下面这段代码有错误么?switch (i)case(): 答:/case()条件不能为空CaseZero();break;case 1:CaseO

13、ne();break;case 2:dufault; 答:/wrong,格式不正确CaseTwo();break;97.在.Net 中,类 System.Web.UI.Page 可以被继承么?答:可以。 的错误处理机制是什么?答:.net 错误处理机制采用 try-catch-finally 结构,发生错误时,层层上抛,直到找到匹配的 Catch 为止。99.利用 operator 声明且仅声明了=,有什么错误么?答:要同时修改 Equale 和 GetHash() ? 重载了“=“ 就必须重载 “!=“104.某一密码仅使用 K、L、M、N、O 共 5 个字母,密码中的单词从左向右排列,密码

14、单词必须遵循如下规则:(1) 密码单词的最小长度是两个字母,可以相同,也可以不同(2) K 不可能是单词的第一个字母(3) 如果 L 出现,则出现次数不止一次(4) M 不能使最后一个也不能是倒数第二个字母(5) K 出现,则 N 就一定出现(6) O 如果是最后一个字母,则 L 一定出现问题一:下列哪一个字母可以放在 LO 中的 O 后面,形成一个 3 个字母的密码单词?A) K B)L C) M D) N答案:B问题二:如果能得到的字母是 K、L、M,那么能够形成的两个字母长的密码单词的总数是多少?A)1 个 B)3 个 C)6 个 D)9 个答案:A问题三:下列哪一个是单词密码?A) K

15、LLN B) LOML C) MLLO D)NMKO答案:C8. 62-63=1 等式不成立,请移动一个数字(不可以移动减号和等于号),使得等式成立,如何移动?答案:62 移动成 2 的 6 次方105.对于这样的一个枚举类型:enum Color:byteRed,Green,Blue,orange答:string ss=Enum.GetNames(typeof(Color);byte bb=Enum.GetValues(typeof(Color);106. C#中 property 与 attribute 的区别,他们各有什么用处,这种机制的好处在哪里?答:attribute:自定义属性的基

16、类;property :类中的属性107.C#可否对内存进行直接的操作?答:在.net 下,.net 引用了垃圾回收(GC)功能,它替代了程序员 不过在 C#中,不能直接实现 Finalize 方法,而是在析构函数中调用基类的 Finalize()方法108.ADO。NET 相对于 ADO 等主要有什么改进?答:1: 不依赖于 ole db 提供程序,而是使用.net 托管提供的程序,2:不使用 com3:不在支持动态游标和服务器端游 4:,可以断开 connection 而保留当前数据集可用 5:强类型转换 6:xml 支持109.写一个 HTML 页面,实现以下功能,左键点击页面时显示“您好”,右键点击时显示“禁止右键”。并在 2 分钟后自动关闭页面。答:setTimeout(window.close

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 初中教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号