。net framework
一、什么叫应用程序域?什么是受管制的代码?什么是强类型系统?什么是装箱和拆箱?什么是重载?CTS、CLS和CLR分别作何解释?
装箱就是把值类型转成引用类型,拆箱是把包装在引用类型中的数据取出来变成值类型。从MSIL角度看好像是boxing,没记错的话是把值从堆栈转到堆中.拆箱相反。
重载是同一类中,存在多个方法名相同而参数签名不同的方法。CTS是通用类型系统、CLS是公共语言规范、CLR是公共语言运行库。
运行时强制进行类型检查的
系统就是强类型系统。c#不赞成使用指针,但是,又允许程序员使用它,不过,这种不安全的代码必须写在一个unsafe标记的块中,这就是受管制代码吧!
应用程序域就是所谓的AppDomain。
二、概述.NET里对 remoting 和 webservice 两项技术的理解和实际中的应用。
远程逻辑调用,remoing接口只能用在.net中。
三、详述.NET里class和struct的异同!
class:放在堆struct放在栈
struct值传递
类与结构有很多相似之处:结构可以实现接口,并且可以具有与类相同的成员类型。然而,结构在几个重要方面不同于类:结构为值类型而不是引用类型,并且结构不支持继承。结构的值存储在“在堆栈上”或“内联”。细心的程序员有时可以通过聪明地使用结构来增强性能。
四、概述反射和序列化
反射:动态获得一个程序集中的类、方法、属性。并且,可以动态创建一个未知
程序集中的类的实例,并调用它里面的方法。以实现后期绑定。
序列化:序列化是将对象转换为容易传输的格式的过程。例如,可以序列化一个对象,然后使用 HTTP 通过 Internet 在客户端和服务器之间传输该对象。在另一端,反序列化将从该流重新构造对象
五、。net中读写数据库需要用到哪些类?他们的作用
要用到的一般有:DbProviderFactories,DbProviderFactory,DbConnection,DbCommand,DbDataAdapater,DbCommandBuilder,DataSet,DataTable,DbDataReader。作用呢,从略,足以让我写篇教程。
六、如何理解.net中的垃圾回收机制。
对不需要用到的对象回收,从而避免内存泄漏。
七、常用的调用
webservice方法有哪些?
如果是aspx中调用,则先实例化再调用。如果是asp.net
ajax中调用,则通过客户端异步代理类调用。我晓得的就是这两种了。八、.net的错误处理机制是什么
.net错误处理机制采用try->catch->finally结构,发生错误时,层层上抛,直到找到匹配的Catch为止。
c#
一、new有几种用法
第一种:new Class();
第二种:覆盖方法public new XXXX(){}
namespace ConsoleApp
{
class A
{
public virtual void show()
{
Console.WriteLine("这是类A!");
}
}
class B : A
{
public new void show()
{
Console.WriteLine("这是类B!");
}
}
class Program
{
static void Main(string[] args)
{
A a = new B();
a.show();
Console.Read();
}
}
}
上面输出的是:这是类A!如果把类B中的show方法定义中的new改成override,那么结果就是:这是类B! 第三种:new 约束指定泛型类声明中的任何类型参数都必须有公共的无参数构造函数。
示例代码如右:class XXXX T:new(){……}表示T必须是有一个无参构造函数。
二、如何把一个array复制到arrayList
ArrayList早就过时,微软不推荐使用,它被List或List取代。而如果要把一个数组复制到List中,很简单:list.addRange(array)就ok了;如果实在要用ArrayList,还是使用addRange方法来搞定。
三、datagrid.datasouse可以连接什么数据源 [dataset,datatable,dataview]
DataSet,DataTable,DataView,任何实现了IList,IListSource接口的类。
四、类成员有( )种可访问形式
用this,引用变量,通过Type类的InvokeMember方法也能访问(这就是所谓后期绑定中的一种方法了。)
五、用sealed修饰的类有什么特点
se