摘要: 所有的面向对象语言都具有3个基本特征,C#也是不例外的。 封装 把客观事物封装成类,并将类内部的实现隐藏,以保证数据的完整性; 继承 通过继承可以复用父类的对象; 多态 允许将子对象赋值给扶对象的一种能力。 1、封装 封装指的是把类内部的数据隐藏起来,不让对象实例直接对其操作。在C#中,封装可以通过 阅读全文
posted @ 2016-03-29 21:00 Helius-黑牛 阅读(607) 评论(0) 推荐(2) 编辑
摘要: 1、什么是类? 面向对象的语言,最基本的就是类。在C#中,类是这样来定义的:类代表一组具有公共属性和行为的对象。 举个例子,现实生活中,人就是一个“类”,但这只是一个统称,指所有的人。我们要找个人一起去玩,此时就需要找到一个具体的人。比如我和小红,我们两个就是“人”这个类的两个实例。 2、C#中如何 阅读全文
posted @ 2016-03-26 21:07 Helius-黑牛 阅读(732) 评论(3) 推荐(2) 编辑
摘要: 这一篇是IL系列的最后一篇的,主要是要说一下IL中的流程控制。我相信,经过前面三篇的介绍,看IL代码应该不是什么大问题了吧。好吧,闲话不多说了,就来简单的说一下吧。 还是跟前几篇一样,以例子来解释说明。 转换为IL代码如下: 大家是否看到了上图中我画的红色框框,这个就是流程控制的关键,下面我最后一次 阅读全文
posted @ 2016-03-22 20:18 Helius-黑牛 阅读(733) 评论(0) 推荐(2) 编辑
摘要: 由于要写毕业论文的缘故,最近比较没有时间写,总是要抽出时间抽出时间。诶,这样的生活比较烦躁。 这一篇主要写委托、类、方法的IL代码,一一来说明。 委托:搞过C#的都应该清楚,委托实际上是一个类。编译器会把它编译成一个类,继承自MulticastDelegate的类,里面有三个方法,BeginInvo 阅读全文
posted @ 2016-03-20 22:18 Helius-黑牛 阅读(750) 评论(0) 推荐(1) 编辑
摘要: 上一篇提到了最基本的IL代码,应该是比较通俗易懂的,所以有了上一篇的基础之后,这篇便要深入一点点的来讲述了。 首先我必须再来说一些重要的概念: Evaluation Stack(评估栈):这是由.NET CLR在执行时候自动管理的记忆体,每一个线程都有自己的评估栈,也就是说,它是用来存储临时变量的线 阅读全文
posted @ 2016-03-20 19:22 Helius-黑牛 阅读(764) 评论(0) 推荐(1) 编辑
摘要: 以前刚开始学C#的时候,总有高手跟我说,去了解一下IL代码吧,看懂了你能更加清楚的知道你写出来的代码是如何运行互相调用的,可是那时候没去看,后来补的,其实感觉也不晚。刚开始看IL代码的时候,感觉非常吃力,一大堆不懂,后来,慢慢看,最后也能看得懂一丁点啦。 闲话不多说了,下面就开始讲讲IL代码 1、什 阅读全文
posted @ 2016-03-16 09:45 Helius-黑牛 阅读(1999) 评论(4) 推荐(0) 编辑
摘要: 每一种编程语言,要想执行,就必须要转换为目标操作系统能够理解的语言才能执行,这种语言叫做本机代码(native code)。C#也是一样的,也要做这样的转换,但是它不是一处到位的,在.NET Framework这个平台下,该过程分为两个阶段。 (1)C#代码编译为中间语言代码的阶段 在编译C#代码时 阅读全文
posted @ 2016-03-13 12:13 Helius-黑牛 阅读(923) 评论(1) 推荐(2) 编辑
摘要: 前几天,有一个做测试的问我.NET Framework是什么,和C#是什么关系呢。 下面我就来解释一下.NET Framework是什么:.NET Framework是一个框架,是应用程序运行时所需要的执行环境,它为应用程序的执行提供有几种服务: (1)全面的类库:提供了丰富的类库供程序员使用,使程 阅读全文
posted @ 2016-03-12 13:34 Helius-黑牛 阅读(1691) 评论(0) 推荐(1) 编辑