.Net笔试题1:说说什么叫字符串不可变?string s="abc";s="123"字符串s不就变了吗?
答:String 对象是不可改变的。每次使用 System.String 类中的方法之一时,都要在内存中创建一个新的字符串对象,这就需要为该新对象分配新的空间。
String是不可变的。在这段代码中,s原先指向一个String对象,内容是 "abc",然后我们将s指向"123",那么s所指向的那个对象是否发生了改变呢?答案是没有。这时,s不指向原来那个对象了,而指向了另一个 String对象,内容为"123",原来那个对象还存在于内存之中,只是s这个引用变量不再指向它了。
扩展:在需要对字符串执行重复修改的情况下,与创建新的String 对象相关的系统开销可能会非常昂贵。如果要修改字符串而不创建新的对象,则可以使用System.Text.StringBuilder 类。例如,当在一个循环中将许多字符串连接在一起时,使用StringBuilder类可以提升性能。
笔试题2:BS与CS的联系与区别?
答:C/S是Client/Server的缩写。客户端需要安装专用的客户端软件。
B/S是Brower/Server的缩写,客户机上只要安装一个浏览器。在这种结构下,用户界面完全通过浏览器实现,一部分事务逻辑在前端实现,但是主要逻辑在服务器端实现。浏览器通过Web Server 同数据库进行数据交互。
C/S 与 B/S 区别:
1).硬件环境不同:
C/S 一般建立在专用的网络上, 小范围里的网络环境, 局域网之间再通过专门服务器提供连接和数据交换服务.
B/S 一般建立在广域网之上的, 有比C/S更强的适应范围, 一般只要有操作系统和浏览器就行 。
2).对安全要求不同
C/S 一般面向相对固定的用户, 对信息安全的控制能力很强. 一般高度机密的信息系统采用C/S 结构适宜. 可以通过B/S发布部分可公开信息.
B/S 建立在广域网之上, 对安全的控制能力相对弱, 可能面向不可知的用户。
3).处理问题不同
C/S 程序可以处理用户面固定, 并且在相同区域, 安全要求高需求, 与操作系统相关. 应该都是相同的系统。C/S的客户端由于是本地程序,因此和本地硬件、程序的交互性很强,比如可以控制本机的其他程序、可以读写本地磁盘文件、可以与硬件交互。
B/S 建立在广域网上, 面向不同的用户, 分散地域, 这是C/S无法作到的. 与操作系统平台关系最小,正应为如此B/S很难和本地硬件、程序、文件进行交互,比如很难控制本机的其他程序、很难读写本地磁盘文件、很难与硬件交互,当然可以用ActiveX技术解决。
笔试题3:下面的程序执行结果是什么?
(class Person
{
public int Age { get; set; }
}
{
public int Age { get; set; }
}
int a = 20;
int b = a;
a++;
Console.WriteLine(b); //结果是20
Person p1 = new Person();
p1.Age = 20;
Person p2 = p1;
p1.Age++;
Console.WriteLine(p2.Age); //结果是21
int b = a;
a++;
Console.WriteLine(b); //结果是20
Person p1 = new Person();
p1.Age = 20;
Person p2 = p1;
p1.Age++;
Console.WriteLine(p2.Age); //结果是21
笔试题4:填空
Http默认的端口号是80、
Ftp默认的端口号是21、
SQLServer的默认端口号是1433
笔试题5:如果不用VisualStudio,用哪个命令行编译C#程序?
答:。
笔试题6:.Net Framework中的类是专门供C#调用的是吗?
答:错。VB.Net等语言都可以调用.Net Framework中的类。
笔试题7:.Net、ASP.Net、C#、VisualStudio之间的关系是什么?
答:Net一般指的是.Net Framework,提供了基础的.Net类,这些类可以被任何一种.Net编程语言调用,.Net Framework还提供了CLR、JIT、GC等基础功能。
ASP.Net是.Net中用来进行Web开发的一种技术,ASP.Net的页面部分写在aspx 文件中,逻辑代码通常通过Code-behind的方式用C#、VB.Net等支持.Net的语言编写。
C#是使用最广泛的支持.Net的编程语言。除了C#还有VB.Net、IronPython等。
VisualStudio是微软提供的用来进行.Net开发的集成开发环境(IDE),使用VisualStudio可
以简化很多工作,不用程序员直接调用等命令行进行程序的编译,而且VisualStudio提供了代码自动完成、代码高亮等功能方便开发。除了VisualStudio,还有SharpDevelop、MonoDevelop等免费、开源的IDE,VisualStudio Express版这个免费版本。
笔试题8:能说出尽可能多的数据库管理系统?
答:MSSQLServer、Oracle、Access、DB2、Sybase
笔试题9:在C#中,string str = null 与 string str = ""的区别
答:string str = null 是不给他分配内存空间,而string str = "" 给它分配长度为空字符串的内存空间
笔试题10:请详述在dotnet中类(class)与结构(struct)的异同?
web前端开发笔试题库 答:Class可以被实例化,属于引用类型,是分配在内存的堆上的。类是引用传递的。
Struct属于值类型,是分配在内存的栈上的。结构体是复制传递的
笔试题11:DataReader和DataSet的异同?
答:DataReader和DataSet最大的区别在于,DataReader使用时始终占用SqlConnection,在线操作数据库..任何对SqlConnection的操作都会引发DataReader的异常..因为DataReader每次只在内存中加载一条数据,所以占用的内存是很小的..因为DataReader的特殊性和高性能.所以DataReader是只进的..你读了第一条后就不能再去读取第一条了..
DataSet则是将数据一次性加载在内存中.抛弃数据库连接..读取完毕即放弃数据库连接..因为DataSet将数据全部加载在内存中.所以比较消耗内存...但是确比DataReader要灵活。
DataSet则是将数据一次性加载在内存中.抛弃数据库连接..读取完毕即放弃数据库连接..因为DataSet将数据全部加载在内存中.所以比较消耗内存...但是确比DataReader要灵活。
笔试题12:C#中的委托是什么?事件是不是一种委托?事件和委托的关系?
答:委托是一种安全的函数指针,事件是一种消息机制
委托可以把一个方法作为参数代入另一个方法。
委托可以理解为指向一个函数的指针。
委托和事件没有可比性,因为委托是类型,事件是对象,下面说的是委托的对象(用委托
方式实现的事件)和(标准的event方式实现)事件的区别。事件的内部是用委托实现的。因为对于事件来讲,外部只能“注册自己+=、注销自己-=”,外界不可以注销其他的注册者,外界不可以主动触发事件,因此如果用Delegate就没法进行上面的控制,因此诞生了事件这种语法。事件是用来阉割委托实例的,类比用一个自定义类阉割List。事件只能add、remove自己,不能赋值。事件只能+=、-=,不能= 。
笔试题13:进程和线程的区别
答:进程是系统进行资源分配和调度的单位;线程是CPU调度和分派的单位,一个进程可以有多个线程,这些线程共享这个进程的资源。
笔试题14:在.Net中,类System.Web.UI.Page 可以被继承么?
答:可以
笔试题15:概述反射和序列化
反射:程序集包含模块,而模块包含类型,类型又包含成员。反射则提供了封装程序集、模
块和类型的对象。您可以使用反射动态地创建类型的实例,将类型绑定到现有对象,或从现有对象中获取类型。然后,可以调用类型的方法或访问其字段和属性
序列化:序列化是将对象转换为容易传输的格式的过程。例如,可以序列化一个对象,然后使用 HTTP 通过 Internet 在客户端和服务器之间传输该对象。在另一端,反序列化将从该流重新构造对象。
笔试题16:用sealed修饰的类有什么特点
答:sealed 修饰符用于防止从所修饰的类派生出其它类。如果一个密封类被指定为其他类的基类,则会发生编译时错误。
笔试题17:UDP连接和TCP连接的异同
答:前者只管传,不管数据到不到,无须建立连接.后者保证传输的数据准确,须要连结
笔试题18:属性和public字段的区别是什么?
答:调用set方法为一个属性设值,然后用get方法读取出来的值一定是set进去的值吗?
属性可以对设值、取值的过程进行非法值控制,比如年龄禁止设值负数,而字段则不能进行这样的设置。虽然一般情况下get读取的值就是set设置的值,但是可以让get读取的值不是set设置的值的。
笔试题19:里面包含20个选择题
1、 不能重载索引器(B)
a)对 b)错
2、 可以为索引器指定(B)索引参数(选择一项)
a) 只能一个 b)一个或多个c)只能两个或多于两个d)以上说法都不对
3、 以下说法正确的是:A
a)一个委托在某一时刻可以指向多个方法。
b)一个委托在某一时刻不可以指向多个方法。
c)一个委托在某一时刻只能指向多个方法。
d)一个委托在某一时刻可以指向多个事件。
4、将事件通知其他对象的对象称为:A
a)发布方b)订户c)通知方d)接受方
5、建议不要使用只写属性(A)
a) 对 b)错
6、下列说法不正确的有(选择三项)ABD
a)属性通过使用访问器来读写数据库中的数据,从而为保护数据库中字段提供了可能
b)属性通过使用访问器来读写类中的数据,从而为保护数据库中字段提供了可能
c)属性通过使用访问器来读写类中的字段,从而为保护类中字段提供了可能
d)属性通过使用访问器来读写数据库中的数据,从而为保护类中字段提供了可能
7、下列关于索引器说法正确的有(三项)ABD
a)索引器不指向内存位置 b)索引器可以有非整数下标
c)索引器不指向get 和set访问器 d)索引器可以重载
8、下列关于索引器说法正确的有(三项)BCD
a)不必指定决定索引器可见性的访问修饰符 b)必须说明索引器返回类型
c)必须指定this关键字 d)必须指定索引的数据类型
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论