亦非寻常

记录我的技术生涯 2011-05-30
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2011年6月11日

摘要: 这里整理的知识点主要是按照C#程序员面试时可能遇到的做个整理,基本是来自网友,算是系统化的学习。1.访问修饰符的访问权限: private:在类的内部可以访问。 protected:在类的内部和继承类中可以访问。 public:完全公开,没有访问限制。 internal:在同一命名空间内可以访问。2.C#中的委托是指将一个方法作为参数传入另一个参数,可以理解为指向一个函数的引用。 委托是一种特殊的委托。3.override(重载)与overwrite(重写)的区别: 重载是方法的名称相同,参数或者参数类型不同,进行多次重载以适应不同的需求。 重写是进行基类中方法的重写,为了适应需要。4.C#中 阅读全文

posted @ 2011-06-11 19:12 亦非寻常 阅读(496) 评论(0) 推荐(0)

2011年6月9日

摘要: 泛型与C++中的模板类似。它的可扩展性能非常好,利用参数化类型来实现同一份代码上操作不同的数据类型。利用"参数化类型"将类型抽象化,实现代码的复用。 需要注意的是: 1.根据.Net规范,参数一般记作T,如class<T>(<T> age){} 2.泛型方法、泛型继承、泛型接口、泛型委托、泛型约束。 这里只是做一个最简单的例子: example:namespace GenericsDemo{ class Program { static void Main(string[] args) { GenericsClass<int> g1 = 阅读全文

posted @ 2011-06-09 23:00 亦非寻常 阅读(336) 评论(0) 推荐(0)

摘要: 接口的知识点: 1.接口定义了契约,一个接口定义一个契约。 2.接口可以包容事件、方法、索引以及C#属性,需要注意的是:不能包括委,因为委托实质上可以等于一个类。 3.在一个接口声明中可以包含零个或多个成员,也就是说接口体中可以为空。 4.所有接口的默认访问类型都是public。 5.在接口的成员声明中不能包含任何修饰符,否则会产生一个编译错误。 6.接口的关键字是interface,接口的名称按照.Net规范是以I开头。如:IEnumerable。example:namespace InterfaceDemo{ class Program { public interface IMyInte 阅读全文

posted @ 2011-06-09 22:47 亦非寻常 阅读(319) 评论(0) 推荐(0)

摘要: 索引器允许类或结构按照数组的形式来索引,索引器类似于属性,区别在于它们的访问器采用参数。 索引器的格式: [访问修饰符] [返回类型] this[数据类型 标识符] 如:public int this[int index]{} example:namespace IndexDemo{ class Program { static void Main(string[] args) { People p1 = new People(); p1[2] = 6; p1[9] = 23;//这里分别对索引值为2和6赋值,其他的值依然保持为0。C#中int类型初始化默认为0。 for (int i = . 阅读全文

posted @ 2011-06-09 22:29 亦非寻常 阅读(342) 评论(0) 推荐(0)

摘要: 一言以蔽之: 委托是指将一个方法作为参数传递给另外一个参数,它实现起来极其类似于一个类,而实际上它是一个特殊的类。 事件是一种特殊的委托,是委托的实例。委托的使用: Note:使用委托的全过程与使用一个类的全过程完全相同。同样需要先定义一个类,然后调用的时候实例化等等。 example:namespace DelegateDemo{ class Program { public delegate void GreetDelegate(string name);//先定义委托 private static void EnglishGreet(string name)//定义两个方法 { Cons 阅读全文

posted @ 2011-06-09 22:18 亦非寻常 阅读(303) 评论(0) 推荐(0)

2011年6月7日

摘要: 这个问题,一开始很自然的我就想到,是否路径错误,但是后来仔细检查了也没错误。 去论坛里面问了下,也没人知道,查看DLL文件特性时,无意间看到了"依赖性"这个说法,也就是说某一个DLL文件很有可能是依赖其他DLL文件而存在的,类似于一个类中引用了其他类,所以我就查看了一下DLL文件的依赖性,当然要用到非常好用的PE查看器(http://www.dependencywalker.com/): 左边带黄色问号的两个DLL文件缺失,导致加载整个模块失败。 解决之道: 找到这两个文件,将他们和主DLL文件放在同一目录下即可。如果是从网上下载的DLL文件,最好去周边看看,是否少下载了什 阅读全文

posted @ 2011-06-07 20:23 亦非寻常 阅读(762) 评论(0) 推荐(1)