- 1、本文档共66页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第二章 C#编程基础 主讲人:蔡菲 C# 的基本数据类型 C# 中的数据类型分为两个基本类别 值类型 表示实际数据 只是将值存放在内存中 值类型都存储在堆栈中 int、char、结构 引用类型 表示指向数据的指针或引用 包含内存堆中对象的地址 为 null,则表示未引用任何对象 类、接口、数组、字符串 引用类型 引用的含义是该类型的变量不直接存储所包含的值,而是指向它所要存储的值,也就是说,引用类型存储实际数据的引用值的地址。 Object类 object是C#中所有类型(包括所有的值类型和引用类型)的根类。Object类是预定义类System.Object的别名。对一个object的变量可以赋予任何类型的值。例如: int x=25; object obj1; obj1=x; object obj2=‘a’; String类 string类型是一个从object类直接继承的密封类型,并且它不能再派生其它的类型。其实例表示Unicode字符串。例如: string str=“hello world”; 值类型和引用类型的区别 值类型变量直接包含它们的数据,而引用类型变量是存储对象的引用。对于引用类型,有可能两个变量引用相同的对象,因而可能出现对一个变量的操作影响到其它变量所引用对象的情况。对于值类型,每个变量都有它们自己对数据的复制,所以不会因为对一个进行操作而影响到其它变量。 Using System; class clobj1 { public int Value=0; } 装箱转换 “装箱”就是将值类型包装成引用类型的处理过程。当一个值类型被要求转换成一个object对象时,“装箱”操作自动进行,它首先创建一个对象实例,然后把值类型的值复制到这个对象实例,最后由object对象引用这个对象实例。 装箱转换是指将一个值类型隐式地转换成一个object类型。例如 int a=10; object obj=a; 也可以显式的方法进行装箱操作: object obj=(object)a; 拆箱转换 “拆箱”操作与“装箱”相反,它是将一个object类型显式转换成值类型。首先检查由object引用的对象实例值类型的包装值,然后把实例中的值复制到值类型的变量中。 注意:当一个“装箱”操作把值类型转换为一个引用类型时,不需要显式地强制类型转换;而拆箱操作把引用类型转换到值类型时,由于它可以强制转换到任何可以相容的值类型,所以必须显式地强制类型转换。 装箱和拆箱 逐字字符串 在介绍字符时介绍了转义符“\”,在定义字符串时同样可以使用。如果定义字符串表示绝对路径C:\temp\temp1\temp2\,则需要以下代码: 逐字字符串 在常规的字符串前面加一个@,就形成了逐字字符串,它的意思是字符串中的每个字符均表示本意,不使用转义字符。如果在字符串中需用到双引号,则可连写两个双引号来表示一个双引号。 例如: @C:\windows\Microsoft // 与 C:\\windows\\Microsoft 含义相同 @He saidHello to me // 与He said\Hello\ to me 含义相同 使用注意 switch语句表达式必须是整数类型,case常量必须与表达式类型兼容,case常量的值必须互异,不能有重复。 “不穿透”规则 可以有两个或多个case前缀指向相同的语句序列。 break 语句可用于退出循环 continue 语句可用于跳过当前循环并开始下一循环 例如: int [,]score; score=new int[3,4]; //score是一个3行4列的二维数组 float[,,]table=new float[2,3,4]; //table是一个三维数组,每一维的个数分别是2、3、4 2.多维数组初始化 语法形式2: type [ ] arrayName = new type [ , ] {{ val11, val12, …,val1n },{ val21, val22,…,val2n }, …, { valm1, valm2, …,valmn }}; 默认size,由编译系统根据初始化表中花括号{}的个数确定行数,再根据{}内的数据确定列数,从而得出数组的大小。 2.多维数组初始化 语法形式3: type [ , ] arrayName ={{ val11, val12, …,val1n }, { val21, val22, …,val2n }, …, { valm1, valm2, …,valmn }}; 数组声明与初始化同时进行,还可以默认ne
文档评论(0)