dotnet02_C程序设计基础.pptVIP

  1. 1、本文档共21页,可阅读全部内容。
  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文档。上传文档
查看更多
dotnet02_C程序设计基础

第二章 C#程序设计基础 第一个C#程序--Hello,World! 创建控制台应用程序 完整对象路径=命名空间名.类名 例如,如何访问System.Text.StringBuilder类? System.Text.StringBuilder using System.Text; Console.WriteLine(“Hello,World!”); 调试运行F5, 非调试运行Ctrl+F5(忽略断点) C#的值类型和引用类型 CTS(Common Type System)是一个所有.NET语言都支持的数据类型(或者说中间语言(IL)中使用的预定义数据类型)的集合,确保这些语言可以相互传送数据,体现了.NET语言的互操作性。 值类型直接存储其值,存储在堆栈Stack中;而引用类型存储对其值的引用,存储在运行库托管堆heap中。 我们必须在设计类型的时候就决定类型实例的行为。这种决定非常重要,用《CLR via C#》作者Jeffrey Richter的话来说,“不理解引用类型和值类型区别的程序员将会给代码引入诡异的bug和性能问题(I believe that a developer who misunderstands the difference between reference types and value types will introduce subtle bugs and performance issues into their code.)”。这就要求我们正确理解和使用值类型和引用类型。 关于正确理解和使用值类型和引用类型,参见/yandixin/archive/2008/03/03/truly-understand-csharp-value-type-and-reference-type.html 具体的值类型和引用类型见课本P31 -P38 C#数据类型不过是CTS类型的别名而已。 如,int只不过是System.Int32的马甲(别名)而已 即int i; 可以用 System.Int32 i; 代替 《Framework Design Guidelines》一书中说:我们要避免在标志符中使用语言特有的名字(别名)来称呼它们。因为别名没有增加任何价值,反而引起了大量的混淆。 所以,常用的Convert.ToInt32()而不是ToInt(),Convert.ToInt64()而不是ToLong()。 C#的命名规范 参见 /zh-cn/library/ms229002(VS.80).aspx 标识符 大小写方式 示例 类 Pascal AppDomain 接口 Pascal IDisposable 方法 Pascal ToString 命名空间 Pascal System.Drawing 参数 Camel typeName 属性 Pascal BackColor 枚举类型 Pascal ErrorLevel 枚举值 Pascal FatalError 事件 Pascal ValueChanged 异常类 Pascal WebException 只读的静态字段Pascal RedValue 装箱boxing 拆箱unboxing 装箱 将一个值类型实例转换为一个相同内容的引用类型实例 当想把值类型实例作为某方法(参数定义为引用类型)的参数时,装箱发生 基于CLR的语言隐藏了装箱过程,程序员不需显式转换,但带来性能上的问题 例: int i = 1; object o = i; // boxing int j = (int) o; // unboxing 拆箱 装箱的逆过程,需显式转换 如果应用程序频繁地把值类型变量作为对象处理,最好最初使用引用类型声明。 类型转换 隐式转换 编译器自动进行 byte bData = 20; int iCount = bData; 强制转换 数值字符串?数值,如,”123”?123 Convert类:将一个基本数据类型转换为另一个基本数据类型 string str = 123; int i = Convert.ToInt32(str); Console.WriteLine(“Int32: {0}”, i); Parse方法: 将数字的字符串表示形式转换为它的等效 32 位有符号整数。一个指示操作是否成功的返回值。 string str = 123; Int32 int32Val; Int32.TryParse(str, out int32Val); Console.WriteLine(Int32: {0}, int32Val); 数值?数值字符串,如,123

文档评论(0)

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

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

1亿VIP精品文档

相关文档