一:C# 介绍 p
C# 是一种简洁、类型安全的面向对象的语言,开发人员可以使用它来构建在 .NET Framework 上运行的各种安全、可靠的应用程序。 p C# 作为一种面向对象的语言,支持封装、继承和多态性概念。所有的变量和方法,包括 Main 方法(应用程序的入口点),都封装在类定义中。 二:C#述语 p 访问修饰符: Ø 用于限制对类型或类型成员的访问的关键字,如 [url=ms-help://MS.MSDNQTR.v80.chs/MS.MSDN.v80/MS.VisualStudio.v80.chs/dv_csref/html/654c0bb8-e6ac-4086-bf96-7474fa6aa1c8.htm]private[/url]、[url=ms-help://MS.MSDNQTR.v80.chs/MS.MSDN.v80/MS.VisualStudio.v80.chs/dv_csref/html/05ce3794-6675-4025-bddb-eaaa0ec22892.htm]protected[/url]、[url=ms-help://MS.MSDNQTR.v80.chs/MS.MSDN.v80/MS.VisualStudio.v80.chs/dv_csref/html/6ee0785c-d7c8-49b8-bb72-0a4dfbcb6461.htm]internal[/url] 或 [url=ms-help://MS.MSDNQTR.v80.chs/MS.MSDN.v80/MS.VisualStudio.v80.chs/dv_csref/html/0ae45d16-a551-4b74-9845-57208de1328e.htm]public[/url]。 p 可访问成员: Ø 一种可由给定类型访问的成员。一种类型的可访问成员不一定可由另一种类型访问。 p 访问器(accessor): Ø 设置或检索与属性关联的私有数据成员的值的方法。读写属性具有 get 和 set 访问器。只读属性只有 get 访问器。 p 匿名方法: Ø 匿名方法是作为参数传递给[url=ms-help://MS.MSDNQTR.v80.chs/MS.MSDN.v80/MS.VisualStudio.v80.chs/dv_csref/html/0bb8cb6d-2f87-47c7-9d1f-d65c1cd01e9f.htm]委托[/url]的代码块。 p 基类: Ø 一种由其他“派生”类继承的[url=ms-help://MS.MSDNQTR.v80.chs/MS.MSDN.v80/MS.VisualStudio.v80.chs/dv_csref/html/b95d8815-de18-4c3f-a8cc-a0a53bdf8690.htm]类[/url]。
p 调用堆栈: Ø 运行时从程序的开始位置到当前正在执行的语句的一系列方法调用。 p 类(class): Ø 一种描述对象的数据类型。类不仅包含数据,还包含作用于数据的方法。 p 构造函数 (constructor) : Ø 类或结构中用于初始化该类型的对象的一种特殊方法。 p 委托 (delegate): Ø 委托是一种引用方法的类型。一旦为委托分配了方法,委托将与该方法具有完全相同的行为。 p 派生类: Ø 一种使用继承获取、扩展或修改其他“基”类的行为和数据的[url=ms-help://MS.MSDNQTR.v80.chs/MS.MSDN.v80/MS.VisualStudio.v80.chs/dv_csref/html/b95d8815-de18-4c3f-a8cc-a0a53bdf8690.htm]类[/url]。 p 析构函数: Ø [url=ms-help://MS.MSDNQTR.v80.chs/MS.MSDN.v80/MS.VisualStudio.v80.chs/dv_csref/html/b95d8815-de18-4c3f-a8cc-a0a53bdf8690.htm]类[/url]或[url=ms-help://MS.MSDNQTR.v80.chs/MS.MSDN.v80/MS.VisualStudio.v80.chs/dv_csref/html/ff3dd9b7-dc93-4720-8855-ef5558f65c7c.htm]结构[/url]中用于准备要由系统销毁的实例的一种特殊方法。有关更多信息。 p 事件(event): Ø [url=ms-help://MS.MSDNQTR.v80.chs/MS.MSDN.v80/MS.VisualStudio.v80.chs/dv_csref/html/b95d8815-de18-4c3f-a8cc-a0a53bdf8690.htm]类[/url]或[url=ms-help://MS.MSDNQTR.v80.chs/MS.MSDN.v80/MS.VisualStudio.v80.chs/dv_csref/html/ff3dd9b7-dc93-4720-8855-ef5558f65c7c.htm]结构[/url]的一个成员,用于发送更改通知。 p 字段(field): Ø [url=ms-help://MS.MSDNQTR.v80.chs/MS.MSDN.v80/MS.VisualStudio.v80.chs/dv_csref/html/b95d8815-de18-4c3f-a8cc-a0a53bdf8690.htm]类[/url]或[url=ms-help://MS.MSDNQTR.v80.chs/MS.MSDN.v80/MS.VisualStudio.v80.chs/dv_csref/html/ff3dd9b7-dc93-4720-8855-ef5558f65c7c.htm]结构[/url]的一个可直接访问的数据成员。 p 泛型 (generics) : Ø 使用泛型,可以定义使用类型参数定义的[url=ms-help://MS.MSDNQTR.v80.chs/MS.MSDN.v80/MS.VisualStudio.v80.chs/dv_csref/html/b95d8815-de18-4c3f-a8cc-a0a53bdf8690.htm]类[/url]和/或方法。当客户端代码实例化类型时,会指定一个特定的类型作为参数。 p 不可变类型 (immutable type) : Ø 一种类型,其实例数据(字段和属性)在创建后不会更改。大多数值类型都属于不可变类型。 p 不可访问的成员: Ø 无法由给定类型访问的成员。一种类型的不可访问的成员并不一定对另一种类型是不可访问的。 Ø
o 继承: Ø
C# 支持继承,因此从其他类(也称为基类)派生的[url=ms-help://MS.MSDNQTR.v80.chs/MS.MSDN.v80/MS.VisualStudio.v80.chs/dv_csref/html/b95d8815-de18-4c3f-a8cc-a0a53bdf8690.htm]类[/url]将继承相同的方法和属性。继承涉及基类和派生类。 p 接口 (interface): Ø 一种只包含公共方法、事件和委托的签名的类型。继承接口的对象必须实现该接口中定义的所有方法和事件。类或结构可以继承任意数目的接口。 p 跌代器(iterator): Ø 迭代器是这样一种方法,它允许包含集合或数组的[url=ms-help://MS.MSDNQTR.v80.chs/MS.MSDN.v80/MS.VisualStudio.v80.chs/dv_csref/html/b95d8815-de18-4c3f-a8cc-a0a53bdf8690.htm]类[/url]的使用者使用 [url=ms-help://MS.MSDNQTR.v80.chs/MS.MSDN.v80/MS.VisualStudio.v80.chs/dv_csref/html/5a9c5ddc-5fd3-457a-9bb6-9abffcd874ec.htm]foreach[/url][url=ms-help://MS.MSDNQTR.v80.chs/MS.MSDN.v80/MS.VisualStudio.v80.chs/dv_csref/html/5a9c5ddc-5fd3-457a-9bb6-9abffcd874ec.htm],[/url][url=ms-help://MS.MSDNQTR.v80.chs/MS.MSDN.v80/MS.VisualStudio.v80.chs/dv_csref/html/5a9c5ddc-5fd3-457a-9bb6-9abffcd874ec.htm]in[/url]循环访问该集合或数组。 p Member: Ø 在[url=ms-help://MS.MSDNQTR.v80.chs/MS.MSDN.v80/MS.VisualStudio.v80.chs/dv_csref/html/b95d8815-de18-4c3f-a8cc-a0a53bdf8690.htm]类[/url]或[url=ms-help://MS.MSDNQTR.v80.chs/MS.MSDN.v80/MS.VisualStudio.v80.chs/dv_csref/html/ff3dd9b7-dc93-4720-8855-ef5558f65c7c.htm]结构[/url]上声明的字段、属性、方法或事件。 p 方法: Ø 一个提供[url=ms-help://MS.MSDNQTR.v80.chs/MS.MSDN.v80/MS.VisualStudio.v80.chs/dv_csref/html/b95d8815-de18-4c3f-a8cc-a0a53bdf8690.htm]类[/url]或[url=ms-help://MS.MSDNQTR.v80.chs/MS.MSDN.v80/MS.VisualStudio.v80.chs/dv_csref/html/ff3dd9b7-dc93-4720-8855-ef5558f65c7c.htm]结构[/url]的行为的命名代码块。 o 可变类型 (mutable type): Ø 一种类型,其实例数据(字段和属性)在创建后可以更改。大多数[url=ms-help://MS.MSDNQTR.v80.chs/MS.MSDN.v80/MS.VisualStudio.v80.chs/dv_csref/html/801cf030-6e2d-4a0d-9daf-1431b0c31f47.htm]引用类型[/url]都属于可变类型。 p 嵌套类型 (nested type): Ø 在另一个类型的声明内声明的类型。 p Object: Ø [url=ms-help://MS.MSDNQTR.v80.chs/MS.MSDN.v80/MS.VisualStudio.v80.chs/dv_csref/html/b95d8815-de18-4c3f-a8cc-a0a53bdf8690.htm]类[/url]的实例。对象存在于内存中,具有数据和作用于这些数据的方法。 p 属性 (property): Ø 通过访问器访问的数据成员。 p 重构 (refactoring): Ø 重用以前输入的代码。 p 引用类型 (reference type): Ø 一种数据类型。声明为引用类型的变量指向存储数据的位置。
o Static: Ø 声明为静态的类或方法不必首先使用关键字 new 进行实例化就可存在。Main() 就属于静态方法。 p 结构 (struct) : Ø 一种复合数据类型,通常用于包含具有某种逻辑关系的多个变量。结构还可以包含方法和事件。结构不支持继承,但支持接口。结构是[url=ms-help://MS.MSDNQTR.v80.chs/MS.MSDN.v80/MS.VisualStudio.v80.chs/dv_csref/html/471eb994-2958-49d5-a6be-19b4313f80a3.htm]值类型[/url],而[url=ms-help://MS.MSDNQTR.v80.chs/MS.MSDN.v80/MS.VisualStudio.v80.chs/dv_csref/html/b95d8815-de18-4c3f-a8cc-a0a53bdf8690.htm]类[/url]是[url=ms-help://MS.MSDNQTR.v80.chs/MS.MSDN.v80/MS.VisualStudio.v80.chs/dv_csref/html/801cf030-6e2d-4a0d-9daf-1431b0c31f47.htm]引用类型[/url]。 p 值类型 (value type): Ø 值类型是在堆栈上分配的数据类型,与在堆上分配的引用类型不同。[url=ms-help://MS.MSDNQTR.v80.chs/MS.MSDN.v80/MS.VisualStudio.v80.chs/dv_csref/html/54f901f2-bf2f-472c-ae8d-73e8ecfc57fe.htm]内置类型[/url](包括数值类型以及结构类型和可空类型)都属于值类型。[url=ms-help://MS.MSDNQTR.v80.chs/MS.MSDN.v80/MS.VisualStudio.v80.chs/dv_csref/html/b95d8815-de18-4c3f-a8cc-a0a53bdf8690.htm]类[/url]类型和[url=ms-help://MS.MSDNQTR.v80.chs/MS.MSDN.v80/MS.VisualStudio.v80.chs/dv_csref/html/3037e558-fb22-494d-bca1-a15ade11b11a.htm]字符串[/url]类型属于[url=ms-help://MS.MSDNQTR.v80.chs/MS.MSDN.v80/MS.VisualStudio.v80.chs/dv_csref/html/801cf030-6e2d-4a0d-9daf-1431b0c31f47.htm]引用类型[/url]。 三:C#关键字 ―――――类型 o 值类型: Ø 枚举类型 Ø 结构类型 Ø 简单类型 ü 整数类型: sbyte、byte、short、ushort、int、uint、long、ulong ü 布尔类型: true、false ü 字符类型: char ü 实数类型: 浮点类型float、double和十进制类型decimal o 引用类型: Ø 类(class) Ø 接口(interface) Ø 委托(delegate) Ø Object Ø String p Void ―――――修饰符 o 访问修饰符: Ø public 访问不受限制。 Ø protected 访问仅限于包含类或从包含类派生的类型。 Ø internal 访问仅限于当前程序集。 Ø protected internal 访问仅限于从包含类派生的当前程序集或类型。 Ø private 访问仅限于包含类型。 p Abstract: Ø 在类声明中使用 abstract 修饰符以指示某个类只能是其他类的基类。标记为抽象或包含在抽象类中的成员必须通过从抽象类派生的类来实现。abstract 修饰符可以和类、方法、属性、索引器及事件一起使用。 p Const: Ø const 关键字用于修改字段或局部变量的声明。它指定字段或局部变量的值是常数,不能被修改。 p Event: Ø 用于指定事件,类和结构使用事件将出现的可能影响对象状态的事件通知给对象。 o Extern: Ø
extern 修饰符用于声明在外部实现的方法。extern 修饰符的常见用法是在使用 Interop 服务调入非托管代码时与 DllImport 属性一起使用;在这种情况下,该方法还必须声明为 static,extern 关键字还可以定义外部程序集别名,使得可以从单个程序集中引用同一组件的不同版本。 p
Override: Ø 用来扩展或修改继承的方法、属性、索引器或事件的抽象实现或虚实现。不能使用修饰符 new、static、virtual 或 abstract 来修改 override 方法。 p Readonly: Ø 当字段声明包括 readonly 修饰符时,该声明引入的字段赋值只能作为声明的一部分出现,或者出现在同一类的构造函数中。 Ø Sealed: Ø sealed 修饰符可以应用于类、实例方法和属性。密封类不能被继承。密封方法会重写基类中的方法,但其本身不能在任何派生类中进一步重写。 o Static: Ø 使用 static 修饰符声明属于类型本身而不是属于特定对象的静态成员。static 修饰符可用于类、字段、方法、属性、运算符、事件和构造函数,但不能用于索引器、析构函数或类以外的类型。 p Unsafe: Ø unsafe 关键字表示不安全上下文,该上下文是任何涉及指针的操作所必需的。 p Virtual: Ø virtual 关键字用于修饰方法、属性、索引器或事件声明,并且允许在派生类中重写这些对象。 p volatile : Ø 关键字表示字段可能被多个并发执行线程修改。 ―――――语句类型 p 选择语句: if, else, switch, case p 迭代语句: do, for, foreach, in, while p 跳转语句:break, continue, default, goto, return,yield p 异常处理语句: throw, try-catch, try-finally, try-catch-finally p 检查和未检查: checked, unchecked p Fixed 语句: fixed p Lock 语句: lock ―――――方法参数 o Params: Ø params 关键字可以指定在参数数目可变处采用参数的方法参数。 Ø 在方法声明中的 params 关键字之后不允许任何其他参数,并且在方法声明中只允许一个 params 关键字。 p Out: Ø out 关键字会导致参数通过引用来传递。 Ø 方法定义和调用方法都必须显式使用 out 关键字。 Ø 传递到 out 参数的参数必须最先初始化,返回前赋值. p Ref: Ø ref 关键字使参数按引用传递。 Ø 方法定义和调用方法都必须显式使用 ref 关键字。 Ø 传递到 ref 参数的参数必须最先初始化。在方法中对参数所做的任何更改都将反映在该变量中。 ―――――命名空间 o Namespace: Ø namespace 关键字用于声明一个范围。此命名空间范围允许您组织代码并为您提供了创建全局唯一类型的方法。 p using: Ø 作为指令,用于为命名空间创建别名或导入其他命名空间中定义的类型。 ü 允许在命名空间中使用类型,以便您不必限定在该命名空间中使用的类型。 ü 为命名空间创建别名。 Ø 作为语句,用于定义一个范围,在此范围的末尾将释放对象。 p 外部别名: Ø extern 关键字还用作方法修饰符,声明用非托管代码编写的方法。 ―――――运算符 p as 将对象转换为可兼容类型。 p is
检查对象的运行时类型。 p new Ø new 运算符 创建对象。 Ø new 修饰符 隐藏继承成员。 Ø new 约束 限定类型参数。 p sizeof
获取类型的大小。 p typeof 获取类型的 System.Type 对象。 p true Ø true 运算符 返回布尔值 true 表示真,否则返回 false。 Ø true 表示布尔值 true。 p false Ø false 运算符 返回布尔值 true 表示假,否则返回 false。 Ø false 表示布尔值 false。 p stackalloc 在堆栈上分配内存块。 ―――――访问 p base: Ø 访问基类的成员。 p this: Ø 引用类的当前实例。
―――――上下文 p get Ø 为属性或索引器定义访问器方法。 p partial Ø 在整个同一编译单元内定义分部类、结构和接口。 p set Ø 为属性或索引器定义访问器方法。 p where Ø 向泛型声明中添加约束。 p Yield Ø 在迭代器块中使用,用于向枚举数对象返回值或发信号结束迭代。 p Value Ø 用于设置访问器和添加或移除事件处理程序。
|
相关推荐
MSDN(Microsoft Developer Network)的C#文档是学习C#的权威资源,包含了从基础到高级的所有主题,适合各个层次的开发者参考。 【C# 语言和 .NET 简介】 C# 语言是微软为.NET框架设计的,它支持现代编程特性,如...
1. C# 基础知识 C# 是一种现代的、面向对象的编程语言,由微软公司开发。它是 .NET Framework 的一部分,可以用于开发 Windows 应用程序、Web 应用程序和移动应用程序。C# 语言的主要特点是强类型、面向对象、垃圾...
《C#编程指南MSDN离线参考手册》是学习C#编程的重要资源,它包含了Microsoft官方的MSDN(Microsoft Developer Network)文档,为开发者提供详尽的C#语言规范、框架特性和开发技术的详细解释。这个离线版本使得开发者...
对于已经有C#开发知识的研发人员的基础知识进行巩固,比较好的全面过滤。
C#基础知识思维导图(整理版),较之前的版本,进行了一些整理
c#基础知识点大全,分条总结。另附winform,css,HTML知识点
在这个“C#基础知识入门”中,我们将深入探讨C#的核心概念和关键知识点。 01c#基础知识.pdf涵盖了以下几个方面: 1. **变量与数据类型**:在C#中,变量用于存储数据,数据类型定义了变量可以存储的数据种类,如...
C#语言基础知识点大全分享C#语言基础知识点大全分享C#语言基础知识点大全分享C#语言基础知识点大全分享C#语言基础知识点大全分享C#语言基础知识点大全分享C#语言基础知识点大全分享C#语言基础知识点大全分享C#语言...
"超级全的C#MSDN" 本资源是一个详细的C#编程指南,来自MSDN,涵盖了C#的各个方面,从类和对象到结构和继承。下面是该资源的知识点总结: 一、类(C# 编程指南) * 类是C#中的基本构成单元,用于定义对象的行为和...
C#基础知识学习 本资源是关于C#基础知识学习的视频课程,主要面向初学者,旨在帮助他们快速掌握C#语言的基础知识点。本课程涵盖了C#.NET框架的基础知识,包括变量、数据类型、逻辑表达式、变量交换、try-catch异常...
对于C#基础语法、引用类型、函数、变量汇总的一个文本,希望能帮助你们
本文将深入探讨C#基础知识中的关键概念,包括REF和OUT关键字以及类型推断。 首先,我们来讨论REF关键字。在C#中,REF关键字用于传递参数的引用,而不是值的副本。这意味着当在函数内部改变参数时,原始变量的值也会...
提供对存储在 MSDN 上的 C# 相关知识库文章的动态搜索。 Visual C# 提供 Visual C# 文档门户。 Visual C# 示例 提供 Visual C# 示例的列表和有关如何在本地磁盘上查找这些示例的说明。 Visual C# 代码编辑器功能 ...
这份个人整理的"C#教程知识手册"是一个全面的学习资源,旨在帮助初学者和有一定经验的开发者巩固和提升C#技能。 一、C#基础 C#的基础部分涵盖了语法、变量、数据类型、控制结构(如if语句、switch语句、循环)、...
本教程将深入探讨C#的基础语法,帮助初学者快速入门,并为有一定经验的开发者提供复习和巩固的机会。 首先,C#教程通常会从语言的简介开始,介绍C#的历史、目标和特点。C#的设计目标是提供一种现代的、类型安全的、...
C#语法基础知识
C#基础知识,为初学C#者归纳了常用的语句以及C#的基础知识,使得让其快速了解C#编程;
【MSDN.rar_C# 帮助_msdn】是一个包含C#编程语言相关资源的压缩文件,其中MSDN(Microsoft Developer Network)是微软提供的一个综合性的开发人员平台,为开发者提供详尽的编程文档、教程和技术支持。C#是一种面向...
C#基础知识的思维导图,本导图概括了有关C#的一些基础知识点