目录
一、构成C#语言的基本元素
关键字:keyword、操作符:openator 运算符、.成员访问操作符、标识符:Identifier
大小写规范,命名规范、标点符号,文本(字面值)
整数、实数、字符、字符串、布尔、空(null)、注释与空白
二、类与名称空间
C# 命名空间(Namespace)
命名空间的设计目的是提供一种让一组名称与其他名称分隔开的方式。在一个命名空间中声明的类的名称与另一个命名空间中声明的相同的类的名称不冲突。
一个计算机系统中的例子,一个文件夹(目录)中可以包含多个文件夹,每个文件夹中不能有相同的文件名,但不同文件夹中的文件可以重名。
命名空间的定义是以关键字 namespace 开始,后跟命名空间的名称,为了调用支持命名空间版本的函数或变量,会把命名空间的名称置于前面,
using 关键字表明程序使用的是给定命名空间中的名称。例如,我们在程序中使用 System 命名空间,其中定义了类 Console。我们可以只写:
Console.WriteLine ("Hello there");
我们可以写完全限定名称,如下:
System.Console.WriteLine("Hello there");
也可以使用 using 命名空间指令,这样在使用的时候就不用在前面加上命名空间名称。该指令告诉编译器随后的代码使用了指定命名空间中的名称。
C# 类(Class)
当你定义一个类时,你定义了一个数据类型的蓝图。这实际上并没有定义任何的数据,但它定义了类的名称意味着什么,也就是说,类的对象由什么组成及在这个对象上可执行什么操作。对象是类的实例。构成类的方法和变量称为类的成员。
类的定义是以关键字 class 开始,后跟类的名称。类的主体,包含在一对花括号内。
注意:
访问标识符 <access specifier> 指定了对类及其成员的访问规则。如果没有指定,则使用默认的访问标识符。类的默认访问标识符是 internal,成员的默认访问标识符是 private。
数据类型 <data type> 指定了变量的类型,返回类型 <return type> 指定了返回的方法返回的数据类型。
如果要访问类的成员,你要使用点(.)运算符。
点运算符链接了对象的名称和成员的名称。
我们可以使用 static 关键字把类成员定义为静态的。当我们声明一个类成员为静态时,意味着无论有多少个类的对象被创建,只会有一个该静态成员的副本。
关键字 static 意味着类中只有一个该成员的实例。静态变量用于定义常量,因为它们的值可以通过直接调用类而不需要创建类的实例来获取。静态变量可在成员函数或类的定义外部进行初始化。你也可以在类的定义内部初始化静态变量。
方式()
一个方法是把一些相关的语句组织在一起,用来执行一个任务的语句块。每一个 C# 程序至少有一个带有 Main 方法的类。
要使用一个方法,需要:定义方法、调用方法
下面是方法的各个元素:
Access Specifier:访问修饰符,这个决定了变量或方法对于另一个类的可见性。
Return type:返回类型,一个方法可以返回一个值。返回类型是方法返回的值的数据类型。如果方法不返回任何值,则返回类型为 void。
Method name:方法名称,是一个唯一的标识符,且是大小写敏感的。它不能与类中声明的其他标识符相同。
Parameter list:参数列表,使用圆括号括起来,该参数是用来传递和接收方法的数据。参数列表是指方法的参数类型、顺序和数量。参数是可选的,也就是说,一个方法可能不包含参数。
Method body:方法主体,包含了完成任务所需的指令集。
三、 类型变量与对象
数据类型 Data Type
- 是数据在内存中存储的’型号‘
- 小内存容纳大内存数据时会发生丢失精确度,发生错误
- 大内存存储小内存会导致浪费
- 编程语言的数据类型与数学中的数据类型不完全相同
- 强类型语言与弱类型语言的比较
- 强类型保证了数据的完整性
一个c#语言中所包含的信息有:
- 存储此类型变量所需空间的大小,
- 此类型的值可表示的最大、最小值范围,
- 此类型所包含的成员(如方法、属性、事件等)
- 此类型由何基类派生而来
静态:编辑和编译期、动态:运行时期
Stack简介 栈 方法调用 局部变量内存放在栈里
Stack overflow、存储对象 实例放在堆里
使用Performance Monitor查看进程的堆内存使用量
C#的五大数据类型
类(Class):如Windows,Forms,Console,String
结构体(Structures):如Int32,Int64,Single,Double
枚举(Enumerations):如HorizontalAlignment,Visibility
接口(Interfaces)、委托(Delegates)