第二讲 C基础语法二ppt课件.pptVIP

  1. 1、本文档共47页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第二讲 C基础语法二ppt课件

回顾 Hello World程序的基本结构 C#的数据类型可以分为:值类型、引用类型。 变量是存放特定数据类型的值的容器,而常量也存放特定数据类型的值,但常量在整个程序中都保持一致 目标 理解装箱和拆箱的概念 掌握表达式和运算符 掌握操作符 掌握流程控制 装箱和取消装箱 装箱是将 值类型转换为 object 类型或由此值类型实现的任一接口类型的过程。当 CLR 对值类型进行装箱时,会将该值包装到 System.Object 内部,再将后者存储在托管堆上。取消装箱将从对象中提取值类型。 装箱和取消装箱 装箱 装箱和取消装箱的性能 相对于简单的赋值而言,装箱和取消装箱过程需要进行大量的计算。对值类型进行装箱时,必须分配并构造一个新对象。次之,取消装箱所需的强制转换也需要进行大量的计算。 如果必须频繁地将值类型装箱,则最好避免使用值类型,例如在非泛型集合类(System.Collections..::.ArrayList)中。可以通过使用泛型集合(例如 System.Collections.Generic..::.List(Of (T)))来避免将值类型装箱。装箱和取消装箱都是需要大量运算的过程。对值类型进行装箱时,必须创建一个全新的对象。此操作所需时间可比简单的引用赋值操作长 20 倍。取消装箱时,强制转换过程所需时间可达赋值操作的四倍。 装箱 装箱用于在垃圾回收堆中存储值类型。装箱是 值类型到 object 类型或到此值类型所实现的任何接口类型的隐式转换。对值类型装箱会在堆中分配一个对象实例,并将该值复制到新的对象中。 装箱 上面哪个例子结果是在堆栈上创建对象引用 o,而在堆上则引用 int 类型的值。该值是赋给变量 i 的值类型值的一个副本。 装箱 输出 取消装箱 取消装箱是从 object 类型到 值类型或从接口类型到实现该接口的值类型的显式转换。取消装箱操作包括: 1.检查对象实例,以确保它是给定值类型的装箱值。 2.将该值从实例复制到值类型变量中。 表达式 表达式”是由一个或多个操作数以及零个或零个以上的运算符所组成的序列,可以通过计算得到一个值、对象、方法或命名空间等结果。表达式可以包含文本值、方法调用、运算符及其操作数,或简单名称。简单名称可以是变量、类型成员、方法参数、命名空间或类型的名称。 表达式可以使用运算符,而运算符又可以将其他表达式用作参数,或者使用方法调用,而方法调用的参数又可以是其他方法调用,因此表达式既可以非常简单,也可以非常复杂。 表达式值 在大部分使用表达式的上下文中,例如在语句或方法参数中,表达式应计算为某个值。如果 x 和 y 是整数,表达式 x + y 将计算为一个数值。表达式 new MyClass() 计算为对 MyClass 对象的新实例的引用。表达式 myClass.ToString() 计算为一个字符串,因为字符串是该方法的返回类型。然而,虽然命名空间名称归类为表达式,但它不计算为值,因此永远不能作为任何表达式的最终结果。命名空间名称不能传递给方法参数,不能用在新表达式中,也不能赋值给变量。命名空间名称只能用作较大表达式的子表达式。同样如此的还有类型(与 System..::.Type 对象不同)、方法组名称(与特定方法不同)以及事件 add 和 remove 访问器。 运算符 运算符就是表达式中的符号。 运算符详解 运算符分: 1.“一元”运算符。 2. “二元”运算符。 3.算术运算符。 4.条件运算符。 5.三元运算符。 “一元”运算符 乘法,加法,移位运算符 关系和类型运算符符 相等,赋值和匿名运算符 逻辑、条件和 null 运算符 运算符的优先级 可重载运算符 C# 允许用户定义的类型通过使用 operator 关键字定义静态成员函数来重载运算符。但不是所有的运算符都可被重载。 比较运算符(如果重载)必须成对重载;也就是说,如果重载 ==,也必须重载 !=。 可重载运算符 可重载运算符 若要在自定义类中重载运算符,您需要在该类中创建具有正确签名的方法。该方法必须命名为“operator X”,其中 X 是正在重载的运算符的名称或符号。一元运算符具有一个参数,二元运算符具有两个参数。在每种情况下,参数的类型必须与声明该运算符的类或结构的类型相同。 操作符 操作符就是特殊的运算符? 括号操作符 格式() 点操作符 格式 (E.I) 其中E是基本表达式或者预定义类型,I是一个标识符。 C++里除了“.”之外还有“::” “-”,C#里用点操作符来代替。比如一个类T有成员变量M,在C++里用T::M来引用,C#里用T.M来引用。另一点不同的是,C#里预定义类型也是

文档评论(0)

118zhuanqian + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档