基本概念复习
类和对象的区别?
类是对象的抽象,对象是类的具体实例。
类是抽象的,不占用内存,而对象是具体的,占有内存空间。
例如:类就是水果,对象就是苹果。
为什么要使用IOC?
浏览器HTTP缓存原理分析?
WCF、WebAPI、WCFREST、WebService之间的区别?
变量和属性?
变量是对类本身而言的,我们把他叫做域,虽然可以为public,但是这样不利于类的封装,因为外部使用者可以对类进行修改。
属性是类外部显示出来的特性
应用域?AppDomain?
String类型作为参数是传值还是传址?
equal,==,referenceequal,gethashcode?
dynamic?
dynamic entity=getentity();//类型1 他们有一个相同的字段
if(entity==null)
{
entity=getentity2();//类型2
}
return entity.a;
基元类型?
编译器直接支持的数据类型
隐式转化?
只有在转换安全的时候,c#才允许隐式转化,所谓安全,是指不会发生数据丢失的情况。
C# const, readonly, static readonly?
ref out?
在类型上执行的操作,称为静态方法
在类型实例上执行的操作,称为非静态方法
const readonly?
const 字段为编译时常数,而 readonly 字段可用于运行时常数
当调用和const不在统一dll中该变const的类需要重新编译其他类
这就是为什么有时候不能替换dll的原因?
readonly 关键字与 const 关键字不同。
1. const 字段只能在该字段的声明中初始化。
readonly 字段可以在声明或构造函数中初始化。因此,根据所使用的构造函数,readonly 字段可能具有不同的值。
2. const 字段是编译时常数,而 readonly 字段可用于运行时常数。
3. const 默认就是静态的,而 readonly 如果设置成静态的就必须显示声明。
4.const 对于引用类型的常数,可能的值只能是 string 和 null。
readonly可以是任何类型
* 需要注意的一个问题是:
readonly 那么不可改变的是引用地址,而非字段引用的对象
对于一个 readonly 的 Reference 类型,只是被限定不能进行赋值(写)操作而已。而对其成员的读写仍然是不受限制的。
public static readonly Class1 my = new Class1();
…
my.SomeProperty = 10;//正常
my = new Class1(); //出错,该对象是只读的
无参属性、索引器?
类型参数?类型实参?
逆变与协变详解?
通常,协变类型参数可用作委托的返回类型,而逆变类型参数可用作参数类型。 对于接口,协变类型参数可用作接口的方法的返回类型,而逆变类型参数可用作接口的方法的参数类型。
“协变”->”和谐的变”->”很自然的变化”->string->object :协变。
“逆变”->”逆常的变”->”不正常的变化”->object->string 逆变。
原生类型?
Array, ArrayList,List,IList,ICollection, Stack, Queue, HashTable, Dictionary, IQueryable, IEnumerable?
消息队列的实现原理?
表达树?泛型类Expression<T>
Lambda另一个强大的特性就是表达式树,lambda表达式都可以通过表达式树来描述,就不用在代码
中直接编写表达式。这样的优势就是表达式可以在运行的时候编译运行,而且可以对lambda表达式进行动态修改
表达式 Expression
表达式树 Expression<Func<type,returnType>>
垃圾回收
webform和mvc区别
集成模式和经典模式