对SqlConnection的操作都会引发DataReader的异常..因为DataReader每次只在内存中加载一条数据,所以占用的内存是很小的..因为DataReader的特殊性和高性能.所以DataReader是只进的..你读了第一条后就不能再去读取第一条了..
DataSet则是将数据一次性加载在内存中.抛弃数据库连接..读取完毕即放弃数据库连接..因为DataSet将数据全部加载在内存中.所以比较消耗内存…但是确比DataReader要灵活..可以动态的添加行,列,数据.对数据库进行回传更新操作…
64. 在c#中using和new这两个关键字有什么意义,请写出你所知道的意义?
答:Using 引入一个命名空间,或在使用了一个对像后自动调用其IDespose,
New 实例化一个对像,或修饰一个方法,表此方法完全重写
65. 下面的例子中
using System;
class A
{
public static int X;
static A(){
X=B.Y+1;
}
}
class B
{
public static int Y=A.X+1;
static B(){}
static void Main(){
Console.WriteLine(“X={0},Y={1}”,A.X,B.Y);
}
}
产生的输出结果是什么?答:x=1,y=2
66. 在.net(C# or vb.net)中如何获得当前窗体或控件的句柄,特别是控件本身的句柄(请列举)。
答:this(C#) Me(vb.net).
67. 在.net(C# or vb.net)中,Appplication.Exit 还是 Form.Close有什么不同?
答:一个是退出整个应用程序,一个是关闭其中一个form
68. 下面这段代码输出什么?为什么?
int i=5;
int j=5;
if (Object.ReferenceEquals(i,j))
Console.WriteLine(“Equal”);
else
Console.WriteLine(“Not Equal”);
答:Not Equal——进行了装箱操作。
69. HashMap和Hashtable的区别。
答:HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都完成了Map接口,主要区别在于HashMap允许空(null)键值(key),由于非线程安全,效率上可能高于Hashtable.
71. 重载与覆盖的区别?
答:
1、方法的覆盖是子类和父类之间的关系,是垂直关系;方法的重载是同一个类中方法之间的关系,是水平关系
2、覆盖只能由一个方法,或只能由一对方法产生关系;方法的重载是多个方法之间的关系。
3、覆盖要求参数列表相同;重载要求参数列表不同。
4、覆盖关系中,调用那个方法体,是根据对象的类型(对象对应存储空间类型)来决定;重载关系,是根据调 用时的实参表与形参表来选择方法体的
72. 什么是虚函数?什么是抽象函数?
答:虚函数:没有实现的,可由子类继承并重写的函数。抽象函数:规定其非虚子类必须实现的函数,必须被重写。
74. 什么是Web Service?UDDI?
答:Web Service便是基于网络的、分布式的模块化组件,它执行特定的任务,遵守具体的技术规范,这些规范使得Web Service能与其他兼容的组件进行互操作。
UDDI 的目的是为电子商务建立标准;UDDI是一套基于Web的、分布式的、为Web Service提供的、信息注册中心的实现标准规范,同时也包含一组使企业能将自身提供的Web Service注册,以使别的企业能够发现的访问协议的实现标准。
75. 委托声明的关键字是______ 答:delegate.
76. 用sealed修饰的类有什么特点?答:密封,不能继承。
77. 在Asp.net中所有的自定义用户控件都必须继承自_Control___
78. 在.Net中所有可序列化的类都被标记为_[serializable]__
79. 在.Net托管代码中我们不用担心内存漏洞,这是因为有了__GC__
80. .某一密码仅使用K、L、M、N、O共5个字母,密码中的单词从左向右排列,密码单词必须遵循如下规则:
(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) KLLN B) LOML C) MLLO D)NMKO
答案:C
81. ADO.NET相对于ADO等主要有什么改进?
答: 1:ado.net不依赖于oledb提供程序,而是使用.net托管提供的程序,
2:不使用com
3:不在支持动态游标和服务器端游
4:可以断开connection而保留当前数据集可用
5:强类型转换
6:xml支持
82. 大概描述一下ASP.NET服务器控件的生命周期
初始化> 加载视图状态> 处理回发数据> 加载> 发送回发更改通知> 处理回发事件> 预呈现> 保存状态> 呈现> 处置> 卸载
83.WCF 对WebSerice 的优势
WCF 能实现Webserice所有功能,并体现体现面向服务的程序思想。在WCF框架下,开发基于SOA的分布式系统变得容易了,微软将所有与此相关的技术要素都包含在内,掌握了WCF,就相当于掌握了叩开SOA大门的钥匙。
84. 如何传输一亿条数据(或者其他巨大的数字)
利用现有的技术,比如分页存储过程,每次提取1000行数据,异步循环读取。
直接select 会导致表被长时间锁定,而且无法做到传输数据的时候显示进度。
5值类型和引用类型的区别?
1.赋值方式不同:基于值类型的变量直接包含值。将一个值类型变量赋给另一个值类型变量时,将复制包含的值。引用类型变量的赋值只复制对对象的引用,而不复制对象本身。
2.值类型不可能派生出新的类型:所有的值类型均隐式派生自 System.ValueType。但与引用类型相同的是,结构也可以实现接口。
3.值类型不可能包含 null 值:然而,可空类型功能允许将 null 赋给值类型。
4.每种值类型均有一个隐式的默认构造函数来初始化该类型的默认值。