笔试题之interface和abstract class之间的区别
摘要:interface和abstract class之间有哪些区别?在C#中1.首先abstract class 还是class,所以可以有数据成员,interface不可以2.abstract class 可以有非abstract方法,而且可以有方法的实现,interface的方式不能有实现3.abs...
阅读全文
笔试题之C#struct
摘要:struct和class之间的区别,这个问题对于C++非常简单,C++里面struct和class之间只有访问权限的区别,class默认private,struct默认public。对于C#呢?就完全不同的。首先,class是引用类型,引用传递,分配在堆上,struct是值类型,值传递,分配在栈上。...
阅读全文
C#的协变和逆变
摘要:什么是协变?什么是逆变?为什么要引入我们知道,面向对象编程告诉我们,可以把子类安全地赋给父类,如object obj=new object();string str=new string();obj=str;但是我们能将List赋给List吗,答案是不能。虽然string继承了object,但是Li...
阅读全文
Linq延迟求值
摘要:Linq语句只有在调用结果的时候才会真正执行,如下 1 static void Main(string[] args) 2 { 3 PersonList personList = new PersonList(); 4 personLi...
阅读全文
非静态的字段、方法或属性 要求对象引用的一种特殊情况
摘要:---恢复内容开始---废话少说 1 class Person 2 { 3 public string Name { get; set; } 4 public int Age { get; set; } 5 public Person(...
阅读全文
类能包含自身吗?
摘要:1 class Test2 {3 Test test; 4 }编译可以通过,没有问题。为什么?类中包含自身,而这个自身又包含自身,这不是无限循环吗?这是因为类类型是引用类型,test其本质上为一个指针,指向真实的类对象,而这个类型并没有new,所以并没有无限循环。但是。如果改为1 class ...
阅读全文
C#中的委托和事件简单理解
摘要:以下是个人粗浅的理解:委托delegrate,可以看做是将方法的封装成类型的工具。如(代码摘自http://www.cnblogs.com/firstyi/archive/2008/02/01/1060923.html): classDelegateTest{delegatestringConver...
阅读全文
c#中的this指针和base指针
摘要:二者都只能在类的内部使用,this指向当前类的实例,base指向当前类的基类的实例。通过this和base调用静态变量或方法或提示错误。
阅读全文