版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第5章C#根本语法网站建设与管理课件 其次,在较大的编程工程中声明自己的命名空间可以帮助控制类名称和方法名称的范围。使用namespace关键字可声明命名空间,用于声明一个范围,如例如一和例如二所示。5.1命名空间5.1命名空间 其次,在较大的编程工程中声明自己的命名空间可以帮助控制类名称和方法名称的范围。使用namespace关键字可声明命名空间,用于声明一个范围,如例如一和例如二所示。5.1命名空间 在两个或更多的声明中定义一个命名空间是可以的。例如3将两个类定义为MyCompany命名空间的一局部。5.1命名空间例如4显示了如何在嵌套的命名空间中调用静态方法。1简单类型2变量及其作用域5.2类型和变量保
留
字System命名空间中的名字字
节
数取值范围sbyteSystem.Sbyte1-128~127byteSystem.Byte10~255shortSystem.Int162-32768~32767ushortSystem.UInt1620~65535intSystem.Int324-2147483648~2147483647uintSystem.Uint3240~4292967295longSystem.Int648-9223372036854775808~9223372036854775808ulongSystem.UInt6480~18446744073709551615charSystem.Char20~655351简单类型1简单类型保
留
字System命名空间中的名字字
节
数取值范围floatSystem.Single43.4E-38~3.4E+38doubleSystem.Double81.7E-308~1.7E+308boolSystem.Boolean
(true,false)decimalSystem.Decimal16±1.0×10-28~7.9×1028stringSystem.String
一组字符续表
1简单类型说明:
表中一些变量名称前面的u是unsigned的缩写,表示不能在这些类型的变量中存储负号。当然除了整数之外,还可以存储浮点数。可以使用的浮点数变量类型有float、double、decimal、char、bool和string类型。1简单类型1.变量命名 与其他语言一样,不能把任意序列的字符作为C#的变量名。根本的变量命名规那么如下:2变量及其作用域2变量及其作用域2变量及其作用域2.变量声明和赋值 要使用变量,首先需要声明它们,即给变量指定名称和类型。声明了变量后,就可以把它们用作存储单元,存储声明了数据类型的数据。
声明变量的C#语法是指定类型和变量名,如下所示: C#程序使用类型声明〔typedeclaration〕创立新类型。类型声明指定新类型的名称和成员。2变量及其作用域2.变量声明和赋值
声明变量最简单的格式为:
数据类型名称
变量名列表;
2变量及其作用域2.变量声明和赋值 注意,变量在使用前,必须初始化上面的变量,声明语句可以用作初始化语句。在工程下添加如下代码:
上面的代码中完成了3项任务:〔1〕声明两个变量;〔2〕给这两个变量赋值;〔3〕将两个变量的值输出到控制台上。1隐式转换2显式转换5.3类型转换转换原类型转换新类型sbyte到short、int、long、float、double或decimalbyte到short、ushort、int、uint、long、ulong、floatdouble或decimalshort到int、long、float、double或decimalushort到int、uint、long、ulong、float、double或decimalint到long、float、double或decimaluint到long、ulong、float、double或decimallong到float、double或decimalulong到float、double或decimalchar到ushort、int、uint、long、ulong、float、double或decimalfloat到double1隐式转换表5.2隐式转换表1.显式转换的概念和根本类型2显式转换2.使用convert命令进行显式转换2显式转换2.使用convert命令进行显式转换 其中,var可以是各种类型的变量〔如果这些命令不能处理该类型的变量,编译器会告诉用户〕。注意,如表5.4所示,转换的名称略不同于C#类型名称,例如,要转换为int,应使用Convert.ToInt32()。为什么会出现如此情况?这是由于这些命令来自于.NETFramework的System命名空间而不是C#本身,这样它们就可以在除C#之外的其他.NET兼容语言中使用了。 例如,如果使用Convert.ToDouble()把字符串Number转换为一个double值,执行代码,就会弹出如图5.1所示的对话框。2显式转换2.使用convert命令进行显式转换
2显式转换
由对话框内容可看出执行失败。为了成功执行这种类型的转换,所提供的字符串必须是数值的有效表达方式,该数还必须是不会溢出的数。1枚举类型2结构3数组5.4复杂变量类型 枚举类型〔也称为枚举〕为定义一组可以赋给变量的命名整数常量提供一种有效的方法。例如,假设必须定义一个变量,该变量的值表示一周中的一天。该变量只能存储7个有意义的值。假设要定义这些值可以使用枚举类型。枚举类型是使用enum关键字声明的。 默认情况下,枚举类型中每个元素的根底类型是int。可以使用冒号指定另一种整数值类型,例如:1枚举类型以下是使用枚举而不使用数值类型的好处:〔1〕明确为客户端代码指定哪些值是变量的有效值。〔2〕在VisualStudio中,IntelliSense列出定义的值。1枚举类型 在下面的例如中,定义了Days枚举的另一个版本,命名为Days2。Days2具有Flags特性,且它的每个值都是2的假设干次幂,指数依次递增,这样将能够创立值为Days2.Tuesday和Days2.Thursday的Days2变量。1枚举类型 假设要在某个枚举上设置标志,请使用按位OR运算符,例如:1枚举类型 假设要确定是否设置了特定标志,请使用按位AND〔与〕运算,例如:1枚举类型 结构是一种值类型。创立结构时结构赋值到的变量保存该结构的实际数据。将结构赋给新变量时将复制该结构。因此,新变量和原始变量包含同一数据的两个不同的副本。对一个副本的更改不影响另一个副本。 下面的例如在ProgrammingGuide命名空间的顶级使用3个成员定义了MyCustomClass。在Program类的Main方法中创立了MyCustomClass的一个实例〔对象〕,并使用点表示法访问该对象的方法和属性。2结构2结构2结构 像类一样结构〔struct〕是能够包含数据成员和函数成员的数据结构,但是与类不同,结构是值类型,不需要堆分配。结构类型的变量直接存储该结构的数据,而类类型的变量那么存储对动态分配的对象的引用。结构类型不支持用户指定的继承,并且所有结构类型都隐式地从类型object继承。
结构对于具有值语义的小型的数据结构特别有用。复数、坐标系中的点或字典中的“键-值〞对都是结构的典型例如。对小型数据结构而言,使用结构而不使用类会大大节省应用程序分配的内存量。 数组是一种数据结构,它包含假设干相同类型的变量。数组是使用类型声明的:数组具有以下属性:3数组一维数组3数组〔案例〕多维数组:3数组〔案例〕在数组声明时,可以对数组元素进行赋值3数组〔案例〕 表达式〔expression〕由操作数〔operand〕和运算符〔operator〕构成。表达式的运算符指示对操作数进行什么样的运算。运算符的例如包括+、-、*、/和new。操作数的例如包括文本〔literal〕、字段、局部变量和表达式。假设表达式中包含多个运算符,运算符的优先级〔precedence〕控制各运算符的计算顺序。例如,表达式x+y*z按x+(y*z)计算,因为*运算符的优先级高于+运算符。5.5表
达
式1.表达式分类
5.5表
达
式(1)一个数值。每个数值都有相应的类型。
(2)一个变量。每个变量都有相关的类型,也就是变量声明的类型。
(3)一个命名空间。通过这种归类的一个表达式只能表现为一个成员访问的着手部分。2.表达式的数值
5.5表
达
式
1)变量的数值就是当前存储在由变量指定的存储位置的数值。一个变量必须在它的数值可以被获得前明确赋值,否则就会产生一个编译时的错误。
(2)属性访问表达式的数值通过调用属性的get访问符来获得。如果属性没有get访问符,就会产生错误。否则,就会执行一个函数成员的调用,而且调用的结果变为属性访问表达式的数值。
(3)索引访问表达式的数值通过调用索引的get访问符来获得。如果索引没有get访问符,就会产生错误。否则,就会执行一个与属性访问表达式相关的参数列表的函数成员的调用,而且调用的结果变为属性访问表达式的数值。3.操作符
5.5表
达
式(1)一元操作符。(2)二元操作符。(3)三元操作符。4.操作符优先级和结合顺序
5.5表
达
式4.操作符优先级和结合顺序
5.5表
达
式4.操作符优先级和结合顺序
当一个操作数在两个有相同优先级的操作符中间时,操作符的结合顺序控制操作按下面要求实现:5.5表
达
式(1)除了赋值操作符,所有二元操作符都是左结合的,意思就是操作从左向右完成。例如,x+y+z被求值为(x+y)+z。
(2)赋值操作符和条件操作符都是右结合的,意思就是操作从右向左完成。例如,x=y=z被求值为x=(y=z)。优先级和结合顺序可以通过使用括号来控制。如x+y*z先把y和z相乘,然后再把结果和x相加,但是(x+y)*z先把x和y
相加,然后再把结果和z相乘。
5.操作符重载
5.5表
达
式所有一元和二元操作符都有预定义的执行方式,在任何表达式中都会自动实行。除了预定义的执行方式外,用户定义的执行方式可以通过包括类和结构中的操作符声明来引入。用户定义的操作符执行通常比预定义操作符声明的优先级高,只有当没有可使用的用户定义的操作符执行存在时才会考虑预定义的操作符执行。
可重载一元操作符有:+、-、!、~、++、--、true、false。
可重载二元操作符有:+、-、*、/、%、&、|、^、<<、>>、==、!=、>、<、>=、<=。
只有上面列出的操作符可以被重载。另外,不能重载成员访问、方法调用或=、&&、||、?:、new、typeof、sizeof和is操作符。当一个二元操作符被重载,相应的赋值操作符也被隐式地重载。例如,一个操作符*的重载同时也是操作符*=的重载。注意赋值操作符自己〔=〕不能被重载。一个赋值通常把一个数值的位方式的赋值放到变量里。
1选择语句2循环语
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 庭院绿化园林施工方案
- 米易一桥施工方案
- 金昌基坑支护工程施工方案
- 灶具维修施工方案
- 陕西酒店吸音材料施工方案
- 湖南庭院铝艺护栏施工方案
- 2020-2025年中国铁路行业发展潜力分析及投资方向研究报告
- 鹅颈会议话筒行业行业发展趋势及投资战略研究分析报告
- 2025年中国饲料加工机行业发展监测及投资战略咨询报告
- 2025年中国燃料电池发动机市场规模现状及投资规划建议报告
- 碎屑岩油藏注水水质指标及分析方法
- 【S洲际酒店婚礼策划方案设计6800字(论文)】
- 医养康养园项目商业计划书
- 《穿越迷宫》课件
- 《C语言从入门到精通》培训教程课件
- 2023年中国半导体行业薪酬及股权激励白皮书
- 2024年Minitab全面培训教程
- 社区电动车棚新(扩)建及修建充电车棚施工方案(纯方案-)
- 项目推进与成果交付情况总结与评估
- 铁路项目征地拆迁工作体会课件
- 医院死亡报告年终分析报告
评论
0/150
提交评论