C#锐利体验
文章平均质量分 79
Ninth
这个作者很懒,什么都没留下…
展开
-
C#锐利体验 第二讲 C#语言基础介绍
南京邮电学院 李建忠(cornyfield@263.net)在体验C#的锐利之前,关乎语言基本知识的掌握是必不可少的一环。由于C#基本语言很多源自C/C++,在这里对那些和C/C++类似的地方仅作简单介绍,我们将体验专注于那些区别于传统C/C++的关键的语言基础知识。 数据类型 C#语言的数据类型主要分为两类:值类型和引用类型。另外一种数据类型"指针"是为unsafe上下文编程专门设定转载 2004-08-25 02:09:00 · 1562 阅读 · 0 评论 -
C#锐利体验 第十五讲 特征
第十五讲 特征特征特征(Attribute)是C#为组件编程引入的一个令人兴奋的创新,它使得我们可以为程序的各种元素如类,结构,接口,方法等提供额外的描述性信息。这些描述性信息在程序代码运行时又可以被我们提取利用。我们先来看一个示例程序:using System;public class AuthorAttribute: Attribute //作者特征类{ public AuthorA转载 2004-09-06 01:03:00 · 1561 阅读 · 0 评论 -
C#锐利体验 第十四讲 枚举
第十四讲 枚举 枚举类型是C#中又一种轻量级的值类型,C#用枚举来表达一组特定的值的集合行为,比如Windows窗体可选的状态,按钮控件的风格等。下面的程序伪码展示了典型的枚举用法:public enum WritingStyle{ Classical, Modern, Elegant,}class Essay{ public void Write(Wr转载 2004-09-06 01:01:00 · 1576 阅读 · 0 评论 -
C#锐利体验 第十二讲 字符串
第十二讲 字符串字符串???????字符串在C#中是System.String(或简化作小写string)类的一个实例,它表示一个不变的字符序列。字符串的创建的语法很简单:string s = "C# Sharp XP";即在托管堆上创建了内容为字符串"C# Sharp XP"的内存区域,而s仅仅是指向该内存区域的一个引用句柄。看下面的代码行:string s1="Hello,World!";转载 2004-09-06 00:59:00 · 1871 阅读 · 0 评论 -
C#锐利体验 第六讲 方法
南京邮电学院 李建忠(cornyfield@263.net)方法又称成员函数(Member Function),集中体现了类或对象的行为。方法同样分为静态方法和实例方法。静态方法只可以操作静态域,而实例方法既可以操作实例域,也可以操作静态域--虽然这不被推荐,但在某些特殊的情况下会显得很有用。方法也有如域一样的5种存取修饰符--public,protected,internal,protect转载 2004-08-25 02:13:00 · 1154 阅读 · 0 评论 -
C#锐利体验 第五讲 构造器与析构器
南京邮电学院 李建忠(cornyfield@263.net)构造器 构造器负责类中成员变量(域)的初始化。C#的类有两种构造器:实例构造器和静态构造器。实例构造器负责初始化类中的实例变量,它只有在用户用new关键字为对象分配内存时才被调用。而且作为引用类型的类,其实例化后的对象必然是分配在托管堆(Managed Heap)上。这里的托管的意思是指该内存受.NET的CLR运行时管理。和C++转载 2004-08-25 02:12:00 · 1208 阅读 · 0 评论 -
C#锐利体验 第三讲 Microsoft.NET平台基础构造
南京邮电学院 李建忠(cornyfield@263.net)抛开Microsoft.NET平台去谈C#是没有意义的,C#之“Sharp”也正在其后端强大的平台。仅仅拘泥于语法层面是体验不了C#的锐利之处的,C#程序很多诡秘之处必须依靠Microsoft.NET平台才能深度的掌握和运用。简单的讲,Microsoft.NET平台是一个建立在开放互联网络协议和标准之上,采用新的工具和服务来满足人们的转载 2004-08-25 02:10:00 · 1320 阅读 · 0 评论 -
C#锐利体验 第七讲 域与属性
南京邮电学院 李建忠(cornyfield@263.net)域 域(Field)又称成员变量(Member Variable),它表示存储位置,是C#中类不可缺少的一部分。域的类型可以是C#中任何数据类型。但对于除去string类型的其他引用类型由于在初始化时涉及到一些类的构造器的操作,我们这里将不提及,我们把这一部分内容作为“类的嵌套”放在“接口 继承与多态”一讲内来阐述。 域分为实转载 2004-08-25 02:14:00 · 1392 阅读 · 0 评论 -
C#锐利体验 第九讲 委派与事件
第九讲 委派与事件委派 委派是C#引入的一种新型的数据类型,它非常类似于C/C++中的函数指针,它常常用于在编译时未绑定的动态方法调用。但与函数指针所不同的是委派在C#完全地实现了面向对象,它既可以引用静态方法,也可以引用实例方法,而函数指针只能引用静态方法。C#中的委派同时也是类型安全。作为一种面向对象的数据类型,委派的使用分为三步:委派声明,委派实例化和委派调用。委派声明即定义转载 2004-09-06 00:52:00 · 2179 阅读 · 0 评论 -
C#锐利体验 第十讲 接口、继承与多态
第十讲 接口 继承与多态接口???????接口定义对象成员的合同,是现代组件编程不可缺少的一环。C#采用关键字“interface”来创建接口。接口作为一种类型,它也具有其他类型所共有的五种存取修饰和new重定义修饰符。接口可以包含方法,属性,事件,索引器四种成员,接口本身只能声明这些成员,不必也不能提供这些成员的具体实现。C#不允许我们为接口成员做任何存取修饰,接口成员的存取修饰缺省为pub转载 2004-09-06 00:50:00 · 2683 阅读 · 0 评论 -
C#锐利体验 第十八讲 非安全代码
C#锐利体验南京邮电学院 李建忠(lijianzhong@263.net.cn)第十八讲 非安全代码.NET通用语言运行时为C#引入了一种托管的安全编程方式。指针存取,变量地址计算,对象销毁等等操作在托管编程环境下都是C#所不允许的,这大大改进了传统C/C++的安全问题。但事物往往是多面性的,在我们摈除指针等内存的直接存取方式的同时,我们也丧失了它在某些问题上的便利性,比如某些和操作系统底层的交互转载 2004-09-03 20:06:00 · 2125 阅读 · 0 评论 -
C#锐利体验 第十七讲 异常处理
C#锐利体验南京邮电学院 李建忠(lijianzhong@263.net.cn)第十七讲 异常处理异常处理???????结构化异常处理是现代分布式环境下组件设计的一个必要的环节,.NET通用语言运行时从底层构造给予异常处理以坚实的支持。在C#中,异常对象被设计为封装了各种异常信息的类(System.Exception及其继承子类,和接口类似,它被推荐命名为加后缀“Exception”的方式,但这并转载 2004-09-03 20:04:00 · 2017 阅读 · 0 评论 -
C#锐利体验 第十三讲 结构
第十三讲 结构结构类为我们采用面向对象方式来构建可复用组件提供了第一等的支持。但有时候我们希望能够获得一种像系统内建的基本类型一样可以廉价地快速地为之分配内存,并且没有继承引用等负担的轻量级的数据类型。C#中的自定义结构类型为我们提供了这样的实现方式,它尤其适用于构建一些比较小的数据结构。???????结构和类在非常相似,比如它们都可以包含域,方法,属性,事件,索引等成员,结构也可以实现多个接转载 2004-09-06 01:00:00 · 1527 阅读 · 0 评论 -
C#锐利体验 第十六讲 映射
C#锐利体验南京邮电学院 李建忠(lijianzhong@263.net.cn)第十六讲 映射动态类型查询我们知道,C#编译后的PE文件主要由IL代码和元数据组成,元数据为.NET组件提供了丰富的自描述特性,它使得我们可以在代码运行时获知组件中的类型等重要的信息。在C#中这是通过一种称作映射(Reflection)的机制来完成的。先来看一个示例,我们首先创建一个简单的类型:// SimpleTyp转载 2004-09-03 20:01:00 · 2293 阅读 · 0 评论 -
C#锐利体验 第八讲 索引器与操作符重载
南京邮电学院 李建忠(cornyfield@263.net)索引器 索引器(Indexer)是C#引入的一个新型的类成员,它使得对象可以像数组那样被方便,直观的引用。索引器非常类似于我们前面讲到的属性,但索引器可以有参数列表,且只能作用在实例对象上,而不能在类上直接作用。下面是典型的索引器的设计,我们在这里忽略了具体的实现。 class MyClass{ public obj转载 2004-08-25 02:15:00 · 1666 阅读 · 0 评论 -
C#锐利体验 第四讲 类与对象
南京邮电学院 李建忠(cornyfield@263.net)组件编程不是对传统面向对象的抛弃,相反组件编程正是面向对象编程的深化和发展。类作为面向对象的灵魂在C#语言里有着相当广泛深入的应用,很多非常“Sharp”的组件特性甚至都是直接由类包装而成。对类的深度掌握自然是我们“Sharp XP”重要的一环。 类 C#的类是一种对包括数据成员,函数成员和嵌套类型进行封装的数据结构。其中数据转载 2004-08-25 02:11:00 · 1213 阅读 · 0 评论 -
C#锐利体验 第十一讲 数组
第十一讲 数组数组???????数组是程序设计常用的一种数据结构。和C/C++一样,C#中的数组索引从0开始,且其元素类型必须为相同,当然由于多态等带来的隐式转型则另当别论。C#中的数组可以分为一维数组,多维数组以及参差数组(Ragged Array),它们各自的声明,初始化,以及元素索引都有不同语法规定。C#同C++中的数组的一个显著的不同是它由.NET通用语言运行时(CLR)保证其类型安全转载 2004-09-06 00:58:00 · 1603 阅读 · 0 评论