c#基础知识

1.private、protected、public、internal修饰符的访问权限
  Private:私有成员,只能在当前类中才可以访问
  Protected:保护成员,在当前类和继承类中访问
  Public:公共成员,完全公开,没有限制
  Internal:在统一命名空间下可访问

2.例举页面传值的几种方式
  A:Querystring (对安全性要求不高,传少量值)
Eg: response.redirect传值 request.querystring接收
  B:Session(放置于服务器端的)
Eg:设置:session[“name”]=”hello”   
获取:string name=session[“name”].tostring();
  C:cookie (放置于客户端的)
Eg:设置:httpcookie cookie_name=new httpcookie(“name”);
cookie_name.value=label1.text;
Response.appendcookie(“cookie_name”)
接收:string name=request.cookie[“name”].value.tostring()
  D:application(全局的,所有用户可见可修改,一般用作计数)
Eg:设置:application[“name”]=”hello”
获取:string name=application[“name”].tostring()
  E:server.transfer(面向对象开发者所使用)
定义类,放参数-->定义接口-->查询页面,继承接口-->接收页面

3.C#中委托是什么?事件是不是一种委托?
委托就是将方法作为参数传入另一个方法,可理解为指向一个函数的引用
事件是一种特殊的委托

委托是一个类,定义了方法的类型,并将该方法作为参数传入另一个方法中,用这个方法可避免大量使用if else 、switch方法,是的程序有了更好的扩展性

4.重载(overloading)与重写(overriding)
重载是一个类中多态的表现,重写是父类与子类中多态的表现
重载是多个方法名相同,但参数个数个类型不同
重写是指子类重写父类方法

5.什么叫应用程序域?
可以理解为一种轻量级进程,起到安全的作用,占用资源少。

6.什么是受管制的代码?
Unsafe:非托管代码,不经过CLR运行

7.CTS、CLS、CLR
CTS:通用类型系统
CLS:通用语言规范
CLR:公共语言运行库

8.什么是装箱和拆箱
装箱:将值类型转化为引用类型
拆箱:将引用类型转化为值类型

9.什么是强类型系统?
RTTI,类型识别系统

10.。net六大内置对象
Response、request、server、session、application、cookie

11.Asp.net身份验证有哪些,分别是什么原理?
  Windows身份验证与IIS身份验证结合
  Form身份验证
  Passport身份验证

12.什么是Code_Behind技术?
代码后植

13.在.net中,配件的意思是?
程序集,(中间语言、源数据、资源、装配清单)

14..net Remoting的工作原理?
服务器端向客户端发送一个进程编号,一个程序域编号,以确定对象的位置

15.在c#中,string str=“”与string str=null的区别?
String str=“”分配了长度为空字符串的空间;
String str=null没有分配空间

16.在。Net中类class与结构struct的异同?
Class可以被实例化,属于引用类型,存储在内存的堆上;
Struct属于值类型,存储在内存的栈上

17.在微软的。Net中,remoting和webservice的理解以及实际作用?
Remoting可利用TCP/IP,二进制传送提高效率;
Webservice可利用HTTP,穿透防火墙

18.面向对象的语言具有继承性、封装性、多态性

19.能用foreach访问的对象需要实现IEnumerable接口和GetEnumerator方法的类型

20.GC是什么以及原理?
垃圾收集器,垃圾收集器会自动管理内存
System.gc()
Runtime.GetRuntime().gc()

21.String s=new String(“xyz”);创建了几个string Object对象?
两个,一个是xyz,一个是指向xyz的引用对象s

22.抽象类与接口的区别?
声明的方法存在但不去实现它的类叫抽象类;接口是抽象类的变体,接口的方法都是抽象的,没有一个方法体

23.启用一个线程是用start()还是run()?
用start(),使线程所代表的虚拟机处可运行状态,而run()方法可以产生一个必须退出的标志来停止线程。

24.接口可继承接口;抽象类可以实现接口;抽象类是否可继承实体类前提是实体类必须要有明确的构造数

25.构造器constructor是否可被overriding?
构造器不能被继承,因此不能够被重写,但是可被重载

原文地址:https://www.cnblogs.com/zxhome/p/4130676.html