首页 > 代码库 > fff77

fff77

C#程序设计教程

作者:WuDe

时间:20140626

第1章 C#程序设计基础

1.1 C#基础

概述

.NET是一个平台

C#是一门语言

编译原理

编写源代码

C#编译器将C#源代码编译成MSIL

将中间代码交给CLR的即时编译器(JIT)将微软中间语言转化成相应的机器码(CPU指令)

交给CPU运行机器码

被CLR所管理的代码叫做托管代码,不能够被CLR管理的代码叫做非托管代码,非托管代码运行效率高,但是相对安全性较低;托管代码运行效率较低,但代码相对是安全的。

标识符

以字母/下划线/数字组成,且第一个字符必须为字母或下划线

标识符严格区分大小写

命名规范

// 单行注释

/**/ 多行注释

///文档注释:可以生成提示

变量命名:camel:第一个单词首字母小写,后面每一个单词的首字母大写。按功能/方法的返回值命名.

对于类和方法/属性:pascal命名,第一个单词首字母大写,之后的单词首字母大写GetMax()、ChangeName().一般使用动词.

代码需要缩进与对齐.

变量的名称一般是名词:说明这个变量有什么用.

方法:一般是动词,说明这个方法可以执行什么样的操作.

在定义变量的时候,长短不是关键,意义才是关键.

C#数据类型

C#数据类型.xmind

注意:string类型表示一个字符序列(0个或多个Unicode字符)。string是.NET Framwork中String的别名。尽管string是引用类型,但定义相等运算符(==和!=)是为了比较string对象(而不是引用)的值。这使得对字符串相等性的测试更为直观。string对象存储在堆空间中,当两个对象的值相等时,他们是公用一个堆空间中的值,只有当值改变时,才会再次开辟空间;

值类型数据存放在栈空间内:数值类型、char、bool、枚举、结构

引用类型 存放在堆空间内:数组、string、类

值类型的传递,传递的是这个变量的副本

引用类型的传递,传递的是存储的堆空间的地址

结构补充

结构是值 类继承自ValueType型

它的使用方式和类很相似,但是也有一些区别:

结构中不能为字段赋值

结构不能包含显式的无参数构造函数

如果通过构造函数为结构成员赋值,只能赋值给字段。

如果不使用new来创建结构,那么就必须为结构中的字段赋值。

结构是一个值类型,所以在做为参数传递的时候传递是值的副本,与引用类型不一致

值类型做参数传递的时候会开辟新的空间来存储值,同时在同引用类型做转换的时候需要 装箱和拆箱操作,消耗系统资源

枚举补充

固定的一些值:字符串值、整型值

fff77