100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 1.0 基础 标示符 常量 数据类型(enum 枚举 struct 结构体) 操作符 循环 数组...

1.0 基础 标示符 常量 数据类型(enum 枚举 struct 结构体) 操作符 循环 数组...

时间:2023-12-31 00:00:21

相关推荐

1.0 基础 标示符 常量 数据类型(enum 枚举 struct 结构体) 操作符 循环 数组...

一、程序

现实生活中,程序是指完成某些事务的一种既定方法和过程,可以把程序看成是一系列动作执行过程的描述。在计算机世界,程序是指令,即为了让计算机执行某些操作或解决某个问题而编写的一系列有序指令的集合程序=数据结构(指程序中的特定数据类型和数据组织形式)+算法(算法是指为达到某个目的所要执行的操作步骤)

二、标示符

标识符用来表示程序中的一个特定元素,如类名、方法名、变量名、项目名等等标识符可以是字母、数字、下划线及“@”,但是必须以字母、下划线及@开头,不能以数字开头标识符严格区分大小写可以使用中文做为标识符,但不建议使用不能使用关键字做标识符对于类名和方法名的标识符,一般将每个单词的首字母大写,如StudentInfo;字段及变量名首单词的首字母小写,其他单词首字母大写

三、常量

常量使用const关键字来定义,常量在声明时必须赋值,且以后不能再对其赋值 eg:const int a = 10;

四、数据类型

C#中的数据可以分为两大类:值类型(Value Type)和引用类型(Reference Type)。

值类型包括: 结构体(数值类型,bool型,用户定义的结构体),枚举,可空类型

引用类型包括: 数组,接口,委托,类(用户自定义类、String类、Object类)

值类型的对象,继承自System.ValueType类(此类的对象却是引用类型的),内容直接储存在栈上(以及MSDN中提到的“或在结构中以内联方式分配的”——“or allocated inline in a structure”);引用类型的对象,其内容存储于堆上,栈上的相应变量名下只存储该处的堆地址,长度为4字节/32位(32位操作系统)或者8字节/64位(64位操作系统)。

值类型的对象不能为null。不能从已有的值类型派生新的数据类型。

栈的特点:存放数据类型(值类型),其优点:比在堆上分配空间更快;用完之后立即自动释放;赋值方便(使用等号)

堆的特点:存放引用类型。

值类型的数据类型全部继承自System.ValueType类,它们又分为以下几类:

C#系统自定义了13种数值类型的数据类型:

整型 9种:byte, short, int(系统默认), long sbite, ushort, uint, ulong,char ----类型装换Convert 类

浮点型3种:float, double(系统默认), decimal

布尔型(逻辑)1种:bool

可能的取值为true和false,占用内存长度1字节/8位。C#中不再有类似于“零等于flase,非零int值等于true”的变换。bool型的系统名称为System.Boolean,属于CLS.

其他2种:

enum 枚举

枚举的数据类型的声明:[属性(attributes)] [访问标识(modifiers)] enum 名称(identifier) [:基类型(base-type)] {枚举列表(enumerator-list)} [;]

枚举类型的本意有两点:一是将难以记忆的整型数常量(除char外的8种整型数都可以)标记为更好理解的变量名。二是引入强类型,在需要采用整形数常量表示的变量之间建立屏障。虽然每个字符串代表了一个整形数常量,但是具体使用枚举类数据类型的整型数常量时仍需要强制类型转换。这个整数值在C#默认是int型的。

枚举列表中各个变量的赋值默认是从0开始,递加1的。

例如:enum days:int {Sat, Sun, Mon}; 取值(int)days.Sun为1 或 enum days:int {Sat=1, Sun, Mon}; 取值(int)days.Sun为2

struct 结构体

用户自定义的值类型数据类型,和类相似也有不同(有篇博客具体介绍过);本身没有继承这一特点,因此与继承相关的一切(例如抽象方法)结构体均不具备,除了两点:所有的结构体继承自System.Object类、结构体可以继承(实现)接口。

性能介绍:结构是值类型,所以会影响性能,但根据使用结构的方式,这种影响可能是正面的,也可能是负面的。正面的影响是为结构分配内存时,速度非常快,因为它们将内联或者保存在堆栈中。在结构超出了作用域被删除时,速度也很快。另一方面,只要把结构作为参数来传递或者把一个结构赋给另一个结构(例如A=B,其中A和B是结构),结构的所有内容就被复制,而对于类,则只复制引用。这样,就会有性能损失,根据结构的大小,性能损失也不同。注意,结构主要用于小的数据结构。但当把结构作为参数传递给方法时,就应把它作为ref参数传递,以避免性能损失——此时只传递了结构在内存中的地址,这样传递速度就与在类中的传递速度一样快了。另一方面,如果这样做,就必须注意被调用的方法可以改变结构的值。

五、操作符

分类:

优先级:

六、循环 注:[]表示可有可无

while (先判断后执行,)

用法:while(循环条件){循环体}

其它用法:while(变量名){ case 变量值1:[执行语句] break;······default:[执行语句] break;}

do-while (先执行一次再判断)

用法:do{循环体}while(循环条件);

for (和while类似,先判断)

用法:for([初始化循环变量];[循环条件];[修改循环变量值]){循环体}

foreach (遍历)

用法:foreach(类型 变量名 in 类型数据列表){}

扩展:continue(跳出本次循环进行下次循环)、break(跳出整个循环)、return(跳出整个方法,可有可无返回值)

七、数组

一维数组:类型[] 变量名 = new 类型[长度];

多维数组(矩形数组):类型[,] 变量名 = new类型[外长度,内长度];--注:[]里的,等于几维减1

交错数组(数组的数组):类型[][] 变量名 = 类型[长度][];

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。