语句、块和空白 语句是C#程序中执行操作的命令,是一行用分号()终止的代码 System. Console. WriteLine( Hello World!) 个块是以上括号和下括号为边界的语句集合 y=x+1 个块可被用在一个类的定义中 public class date int day int month Int year; 块语句可被嵌套
语句、块和空白 • 语句是C#程序中执行操作的命令,是一行用分号(;) 终止的代码 System.Console.WriteLine(“Hello World!”); • 一个块是以上括号和下括号为边界的语句集合 { x=y+1; y=x+1; } • 一个块可被用在一个类的定义中 public class Date { int day; int month; int year; } • 块语句可被嵌套 A-PDF Split DEMO
C#程序结构 所有代码都组织在类中。 程序从Main(方法开始执行,Main方法可以包含字符 串数组( string]ags类型的参数 ·C#语言区分大小写 C#程序中允许任意多的空白 C#程序中可以使用∥,/*和∥添加注释,∥后面跟xml 文档。 Mour first c# class class Hello world static void Maino System. Console. WriteLine(" Hello World!
C#程序结构 • 所有代码都组织在类中。 • 程序从Main()方法开始执行,Main方法可以包含字符 串数组(string[] args)类型的参数。 • C#语言区分大小写。 • C#程序中允许任意多的空白。 • C#程序中可以使用//, /* */和///添加注释,///后面跟xml 文档。 //our first c# class class HelloWorld{ static void Main() { System.Console.WriteLine(“Hello World!”); } } A-PDF Split DEMO
标识符 ·标识符是赋予变量、用户定义的类型和这些类型中成 员的名称 可从一个字母或下划线(开头,可以包含数字和字符。 是大小写区别对待的,且无最大长度 合法的标识符: identifier userName User name sys varl 标识符也采用16位 Unicode编码。 标识符不能是关键字,但是它可包含一个关键字作为它的名 字的一部分。 thisone是一个有效标识符,但this却不是,因为 this是一个关键字。C#有76个关键字。如果需要把某个关键字 作为标识符,可以在其前面加上前缀@。如@this
标识符 • 标识符是赋予变量、用户定义的类型和这些类型中成 员的名称 – 可从一个字母或下划线(_)开头,可以包含数字和字符。 – 是大小写区别对待的, 且无最大长度。 • 合法的标识符: identifier userName User_name _sys_varl • 注意: – 标识符也采用16位Unicode编码。 – 标识符不能是关键字,但是它可包含一个关键字作为它的名 字的一部分。 thisone是一个有效标识符,但this却不是,因为 this是一个关键字。 C#有76个关键字。如果需要把某个关键字 作为标识符,可以在其前面加上前缀@。如@this。 A-PDF Split DEMO
C#预定义数据类型 C#中有15个预定义数据类型,其中13个值类型,2个引 用类型。 逻辑类型bool 文本类型char, string 整数类型byte, short,int,long, byte, ushort,uint, ulong 浮点类型 double, float 十进制 decimal 基类 object 除 string和 object为引用类型外,其他类型都是值类型 struct和enum为值类型,类、引用、委托和数组为引用 类型。 值类型:赋值操作拷贝的是数据的内容。 引用类型:赋值操作拷贝的是数据的存储地址
C#预定义数据类型 • C#中有15个预定义数据类型,其中13个值类型, 2个引 用类型。 – 逻辑类型 bool – 文本类型 char, string – 整数类型 byte, short, int, long, ubyte, ushort, uint, ulong – 浮点类型 double, float – 十进制 decimal – 基类 object • 除string 和object为引用类型外,其他类型都是值类型。 struct 和enum为值类型,类、引用、委托和数组为引用 类型。 – 值类型:赋值操作拷贝的是数据的内容。 – 引用类型:赋值操作拷贝的是数据的存储地址。 A-PDF Split DEMO
值类型的内存分配 int xiaoMing=100 Int xiaoFang XiaoMing, xiao Fang=200 说明: 结果 xiaoMing为100,因为值类型不存在指向同一个对象 的问题。 ( xiaoMing== Xiao Fang)的结果为 false Xiao Mir 100 xiaoFang 200
值类型的内存分配 int xiaoMing = 100; int xiaoFang = xiaoMing; xiaoFang = 200; 说明: 结果xiaoMing 为100,因为值类型不存在指向同一个对象 的问题。 ( xiaoMing= = xiaoFang)的结果为false。 xiaoMing 100 xiaoFang 200 A-PDF Split DEMO