
XML:

3. 在 XML 中,拥有单个标记而没有匹配的结束标记的元素必须用一个 / 字符作为结尾。 这样分析器就知道不用 查找结束标记了。 4. 在 XML 中,属性值必须分装在引号中。在 HTML 中,引号是可用可不用的。 5. 在 HTML 中,可以拥有不带值的属性名。在 XML 中,所有的属性都必须带有相应的值。 XML是用来存储和传输数据的 HTML 是用来显示数据的 如果使用了完全符合 XML 语法要求的 HTML,那么就叫做符合 XHTML 标准。符合 XHTML 标准的页面有利于 SEO。 31、string str = null 与 string str =””说明其中的区别。 答:string str = null 是不给他分配内存空间,而 string str = \"\" 给它分配长度为空字符串的内 存空间。 string str = null 没有 string 对象,string str = “”有一个字符串对象。 string s3 = string.Empty;//反编译发现,string.Empty就是在类构造函数中 Empty = ""; 32.写出一条 Sql 语句:取出表 A 中第 31 到第 40 记录(SQLServer,以自动增长的 ID 作为主 键,注意:ID 可能不是连续的。 答:解 1: select top 10 * from A where id not in (select top 30 id from A) 演变步骤: 1)select top 30 id from T_FilterWords--取前条 2)select * from T_FilterWords where id not in (select top 30 id from T_FilterWords)--取id不等于前三十 条的 --也就是把前条排除在外 3)select top 10 * from T_FilterWords where id not in (select top 30 id from T_FilterWords) --取把前条排除在外的前条,也就是-40 条 解 2: select top 10 * from A where id > (select max(id) from (select top 30 id from A )as A) 解答 3:用 ROW_NUMBER 实现 33.面向对象的语言具有________性、_________性、________性 答:封装、继承、多态。 不要背,脑子中要有联想。 34.在.Net 中所有可序列化的类都被标记为_____? 答:[serializable] 35、什么是 code-Behind 技术。 就是代码隐藏,在 ASP.NET 中通过 ASPX 页面指向 CS 文件的方法实现显示逻辑和处理逻 辑的分离,这样有助于 web 应用程序的创建。比如分工,美工和编程的可以个干各的,不 用再像以前 asp 那样都代码和 html 代码混在一起,难以维护。code-Behind 是基于部分类技 术实现的,在我的项目的三层代码生成器中用到了部分类。 36、接口是一种引用类型,在接口中可以声明( a),但不可以声明公有的域或私有的成 员变量。 a) 方法、属性、索引器和事件; b) 索引器和字段; c) 事件和字段; 解读:接口中不能声明字段只能声明方法,属性、索引器和事件 最终都编译生成方法。因 为字段属于实现层面的东西,只有存取值的时候才会用到字段,所以中接口中不能定义字段。 37. 在 ADO.NET 中 , 对 于 Command 对象的 ExecuteNonQuery() 方法和 ExecuteReader()方法,下面叙述错误的是(c)。 a) insert、update、delete 等操作的 Sql 语句主要用 ExecuteNonQuery()方法来执行; b) ExecuteNonQuery()方法返回执行 Sql 语句所影响的行数。 c) Select 操作的 Sql 语句只能由 ExecuteReader()方法来执行; d) ExecuteReader()方法返回一个 DataReader 对象; 拿 SQLHelper 实现一下。 38. 下列关于 C#中索引器理解正确的是(c ) a) 索引器的参数必须是两个或两个以上 b) 索引器的参数类型必须是整数型 c) 索引器没有名字 d) 以上皆非 39. 下面关于 XML 的描述错误的是(d)。 a) XML 提供一种描述结构化数据的方法; b) XML 是一种简单、与平台无关并被广泛采用的标准; c) XML 文档可承载各种信息; d) XML 只是为了生成结构化文档; 40、以下的 C#代码,试图用来定义一个接口: public interface IFile { int A; int delFile() { A = 3; } void disFile(); } 关于以上的代码,以下描述错误的是(d )。 a) 以上的代码中存在的错误包括:不能在接口中定义变量,所以 int A 代码行将出现错 误; b) 以上的代码中存在的错误包括:接口方法 delFile 是不允许实现的,所以不能编写具体 的实现函数; c) 代码 void disFile();声明无错误,接口可以没有返回值; d) 代码 void disFile();应该编写为 void disFile(){}; 41、在 ASP.NET 中有 Button 控件 myButton,要是单击控件时,导航到其他页面 http://www.abc.com, 正确的代码为( c)。 a) private void myButton_Click(object sender, System.EventArgs e){Redirect(“htt p://www.abc.com”);} b) private void myButton_Click(object sender, System.EventArgs e){Request.Redi rect(“http://www.abc.com”);} c) private void myButton_Click(object sender, System.EventArgs e){Reponse.Red irect(“http://www.abc.com”);} d) private void myButton_Click(object sender, System.EventArgs e){Request.Redi rect(“http://www.abc.com”);return true;} 42. 声明一个委托 public delegate int myCallBack(int x); 则用该委托产生 的回调方法的原型应该是(b )。 a) void myCallBack(int x) ; b) int receive(int num) ; c) string receive(int x) ; d) 不确定的; 43.StringBuilder 和 String 的区别? 答:String 在进行运算时(如赋值、拼接等)会产生一个新的实例,而 StringBuilder 则不 会。所以在大量字符串拼接或频繁对某一字符串进行操作时最好使用 StringBuilder,不要使 用 String 如果要操作一个不断增长的字符串,尽量不用 String 类,改用 StringBuilder 类。两个类的工 作原理不同:String 类是一种传统的修改字符串的方式,它确实可以完成把一个字符串添加到 另一个字符串上的工作没错,但是在.NET 框架下,这个操作实在是划不来。因为系统先是把 两个字符串写入内存,接着删除原来的 String 对象,然后创建一个 String 对象,并读取内存 中的数据赋给该对象。这一来二去的,耗了不少时间。而使用 System.Text 命名空间下面的 StringBuilder 类就不是这样了,它提供的 Append 方法,能够在已有对象的原地进行字符串 的修改,简单而且直接。当然,一般情况下觉察不到这二者效率的差异,但如果你要对某个 字符串进行大量的添加操作,那么 StringBuilder 类所耗费的时间和 String 类简直不是一个数 量级的。 44、.请叙述属性与索引器的区别。 (*) 属性 索引器 通过名称标识。 通过签名标识。 通过简单名称或成员访问来访问。 通过元素访问来访问。 可以为静态成员或实例成员。 必须为实例成员。 属性的 get 访问器没有参数。 索引器的 get 访问器具有与索引器相同的形参 表。 属性的 set 访问器包含隐式 value 参数。 除了 value 参数外,索引器 的 set 访问器还具有与索引器相同的形参表。 46. 请解释 ASP。NET 中的 web 页面与其隐藏类之间的关系? 一个ASP.NET页面一般都对应一个隐藏类,一般都在ASP.NET页面的声明中指定了隐藏类例 如一个页面 Tst1.aspx 的页面声明如下 <%@ Page language="c#" Codebehind="Tst1.aspx.cs" AutoEventWireup="false" Inherits="T1.Tst1" %> Codebehind="Tst1.aspx.cs" 表明经编译此页面时使用哪一个代码文件 Inherits="T1.Tst1" 表用运行时使用哪一个隐藏类 aspx 页面会编译生成一个类,这个类从隐藏类继承。 49、您在什么情况下会用到虚方法?它与接口有什么不同? 答案:子类重新定义父类的某一个方法时,必须把父类的方法定义为 virtual 在定义接口中不能有方法体,虚方法可以。 实现时,子类可以不重新定义虚方法,但如果一个类继承接口,那必须实现这个接口。 50. 不定项选择: (1) 以下叙述正确的是: B C A. 接口中可以有虚方法。B. 一个类可以实现多个接口。 C. 接口不能被实例化。 D. 接口 中可以包含已实现的方法。 (2) 从数据库读取记录,你可能用到的方法有:B C D A. ExecuteNonQuery B. ExecuteScalar C. Fill D. ExecuteReader (3).对于一个实现了 IDisposable 接口的类,以下哪些项可以执行与释放或重置非托管资源 相关的应用程序定义的任务?(多选) ( ABCD ) A.Close B.Dispose C.Finalize D.using E.Quit (4)以下关于 ref 和 out 的描述哪些项是正确的?(多选) ( ACD ) A.使用 ref 参数,传递到 ref 参数的参数必须最先初始化。 B.使用 out 参数,传递到 out 参数的参数必须最先初始化。 C.使用 ref 参数,必须将参数作为 ref 参数显式传递到方法。 D.使用 out 参数,必须将参数作为 out 参数显式传递到方法。 51. 单项选择: (1)下列选项中,(C)是引用类型。 a)enum 类型 b)struct 类型 c)string 类型 d)int 类型 (2).关于 ASP.NET 中的代码隐藏文件的描述正确的是(C) a)Web 窗体页的程序的逻辑由代码组成,这些代码的创建用于与窗体交互。编程逻辑唯一与 用户界面不同的文件中。该文件称作为“代码隐藏”文件,如果用 C#创建,该文件将具有 “.ascx.cs”扩展名。 b)项目中所有 Web 窗体页的代码隐藏文件都被编译成.EXE 文件。 c)项目中所有的 Web 窗体页的代码隐藏文件都被编译成项目动态链接库(.dll)文件。 d)以上都不正确。 (3).下列描述错误的是(D) a)类不可以多重继承而接口可以; b)抽象类自身可以定义成员而接口不可以; c)抽象类和接口都不能被实例化; d)一个类可以有多个基类和多个基接口; 52、DataReader 和 DataSet 的异同? DataReader 使用时始终占用 SqlConnection,在线操作数据库 每次只在内存中加载一条数据,所以占用的内存是很小的 是只进的、 只读的 DataSet 则是将数据一次性加载在内存中.抛弃数据库连接..读取完毕即放弃数据库连接(非连 接模式) DataSet 将数据全部加载在内存中.所以比较消耗内存...但是确比 DataReader 要灵活..可以动 态的添加行,列,数据.对数据库进行 回传更新操作(动态操作读入到内存的数据) 53、public static const int A = 1;这段代码有错误么? 错误:const 不能被修饰为 static ;因为定义为常量 (const )后就是静态的(static )。 54、传入某个属性的 set 方法的隐含参数的名称是什么? value,它的类型和属性所声名的类型相同。 55、C#支持多重继承么? 类之间不支持,接口之间支持。类对接口叫做实现,不叫继承。 类是爹、接口是能力,能 有多个能力,但不能有多个爹。 56、C#中所有对象共同的基类是什么? System.Object 57、通过超链接怎样传递中文参数? 答:用 URL 编码,通过 QueryString 传递,用 urlencode 编码 用 urldecode 解码 58、string、String;int、Int32;Boolean、bool 的区别 String、Int32、Boolean 等都属于.Net 中定义的类,而 string、int、bool 相当于 C#中对这些 类定义的别名。CTS。 59、Server.Transfer 和 Response.Redirect 的区别是什么?(常考) 答: Server.Transfer 仅是服务器中控制权的转向,在客户端浏览器地址栏中不会显示出转向 后的地址;Response.Redirect 则是完全的跳转,浏览器将会得到跳转的地址,并重新发送请 求链接。这样,从浏览器的地址栏中可以看到跳转后的链接地址。 Server.Transfer 是服务器请求资源,服务器直接访问目标地址的 URL,把那个 URL 的响应 内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪 儿来的,所以它的地址栏中还是原来的地址。 这个过程中浏览器和 Web 服务器之间经过了 一次交互。 Response.Redirect 就是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地 址,一般来说浏览器会用刚才请求的所有参数重新请求。这个过程中浏览器和 Web 服务器 之间经过了两次交互。 Server.Transfer 不可以转向外部网站,而 Response.Redirect 可以。 Server.Execute 效果和 Server.Transfer 类似,但是是把执行的结果嵌入当前页面。 60、不是说字符串是不可变的吗?string s="abc";s="123"不就是变了吗?(传智播客.Net 培训班原创模拟题) String 是不可变的在这段代码中,s 原先指向一个 String 对象,内容是 "abc",然后我们将 s 指向"123",那么 s 所指向的那个对象是否发生了改变呢?答案是没有。这时,s 不指向原来 那个对象了,而指向了另一个 String 对象,内容为"123",原来那个对象还存在于内存之中, 只是 s 这个引用变量不再指向它了。 61、是否可以从一个 static 方法内部发出对非 static 方法的调用? 不可以。因为非 static 方法是要与对象关联在一起的,必须创建一个对象后,才可以在 该对象上进行方法调用,而 static 方法调用时不需要创建对象,可以直接调用。也就是说, 当一个 static 方法被调用时,可能还没有创建任何实例对象,如果从一个 static 方法中发出 对非 static 方法的调用,那个非 static 方法是关联到哪个对象上的呢?这个逻辑无法成立, 所以,一个 static 方法内部不能发出对非 static 方法的调用。 63、说出一些常用的类、接口,请各举 5 个 要让人家感觉你对.Net开发很熟,所以,不能仅仅只列谁都能想到的那些东西,要多列你在 做项目中涉及的那些东西。就写你最近写的那些程序中涉及的那些类。 常用的类:StreamReader、WebClient、Dictionary