- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C#程序设计教程(第二章)
PAGE30 / NUMPAGES30
第二章 C#编程基础
简单数据类型和操作符构成了整个C#程序设计的基础,简单数据类型主要包括整数、浮点数、小数和字符等。复合数据类型主要包括枚举、数组、字符串和结构体等几大类型。之所以统称这些类型为复合数据类型,是因为它们一般都是建立在对基本数据类型组合的基础之上的。灵活的使用复合数据类型对于简化程序设计,增加程序的可维护性等都具有重要意义。
2.1 基本数据类型
在计算机中,所有的数据都是以字节的形式表示的,数据类型可以帮助编译程序生成高效率的目标代码。为了让编译程序了解数据所属的类型,通常程序设计语言都遵循“先声明,后使用”的原则,即在使用一个数据之前必须知道该数据属于什么样的数据类型。这样在程序编译产生目标代码时,可以知道需要分配多大的存储空间以及如何引用这个数据。
数据类型对程序员也具有重要的意义。由于程序中的每一个数据都明确的属于某一个数据类型,所以这些数据的取值范围,可以操作的运算符等信息就可以通过数据所属的数据类型显示的反映出来,提高了程序的可读性和可理解性,在程序中使用数据时,会根据数据的特点以及可能的取值范围来决定数据的类型。
C#语言提供了一套比较完整的数据类型及运算符,通过它们和简单语句的组合可以方便的表达整个客观世界。
C#中的数据类型可以分为两大类:简单数据类型和复合数据类型。简单数据类型又可分为整数、浮点数、字符和字符串等;复合数据类型又可分为枚举、数组、结构体、类等。
根据数据类型的变量和其对应数据之间的关系,还可把C#中的数据类型分为如下两大类:
值数据类型 每个变量对应着自己的一份数据,它对数据的修改不影响其它变量。
引用数据类型 多个变量可以对应着同一份数据,这时任一变量对数据进行修改都会影响到其它变量。
例2-1 值数据类型和引用数据类型
namespace Exam2_1
{ using System;
class Ref_type
{ public int val=1;
}
class compare
{
public static void Main()
{
int value1=1; //int是一种值类型,其变量value1,value2各自拥有独立的数据拷贝
int value2;
value2=value1;
value2=-1; // 修改变量value2的值不会改变value1
//类Ref_type的变量赋值给另一个变量后,它们之间共享一份数据拷贝
Ref_type Ref1=new Ref_type();
Ref_type Ref2=Ref1;
Ref2.val=-1; //修改变量Ref2的值将会改变Ref1的值
Console.WriteLine(值数据类型:\t value1={0},value2={1},value1,value2);
Console.WriteLine(引用数据类型:\t Ref1 .val={0},Ref2.val={1},Ref1.val,Ref2.val);
Console.ReadLine();
}
}
}
运行结果如下:
值数据类型:value1=1,value2=-1
引用数据类型:Ref1.val=-1,Ref2.val=-1
从上面的结果可以清楚地看到,int类型的变量value1在value2修改数据后,仍然保持其最初值-1;和它形成鲜明对比的是Ref_type类的变量Ref1在变量Ref2修改成员val的值后,它的值也相应的发生了变化,由1变成了-1。
2.1.1 值类型
一个值类型的变量,就是一个包含实际数据的变量。因此,值类型不能是null。例如,在C#中,通过创建一个CTS类型System.Int32的变量获得分配的内存,即 int i=15; //说明i为int类型,并赋初值为15
就使得在堆栈上分配32位内存,并将赋给i的值15传递到分配的32位内存中。
【增加】一般情况下,不同类型的变量使用不同的模式来表示数据。这意味着,即使可以把一系列的位从一种类型的变量移动到另一种类型的变量中,结果也可能与期望的不同。
这并不是数据位从一个变量到另一个变量的一对一映射,而是需要对数据进行类型转换。类型转换有如下两种形式:
(1)隐式转换:从类型A到类型B的转换可以在所有的情况下进行,执行转换的规则非常简单,可以让编译器进行。
隐式
您可能关注的文档
- 画法几何点的相对位置关系电子教材-点的相对位置-画法几何.doc
- 画法几何空间第一象限角电子教材-空间第一象限角-画法几何.doc
- 画法几何两直线相对位置关系电子教材-两直线的相对位置关系-画法几何.doc
- 画法几何平面上的直线电子教材-平面上的直线-画法几何.doc
- 画法几何三面投影体系的展开电子教材-三面投影体系的展开-画法几何.doc
- 画法几何重影点的概念电子教材-重影点的概念-画法几何.doc
- 画法几何组合形体的组合形式电子教材-组合形体的组合形式-画法几何.docx
- 话说桑蚕丝帛古代丝绸之路丝路之绸——忍冬联珠龟背文刺绣花边.docx
- 话说桑蚕丝帛罗北魏棕罗地花草纹平绣小片.docx
- 话说桑蚕丝帛罗罗地小脚鞋.docx
- 基础课程教案CitrixXenServer教案.doc
- 基础课程教案C语言程序设计教案.doc
- 基础课程教案PHP会话技术.doc
- 基础课程其他实验九使用文件存储联系人信息.docx
- 基础课程其他实验十九HTTP通信.docx
- 基础课程其他实验十五声音播放.docx
- 基础课程实训九实训九.doc
- 基于Hadoop构建数据分析系统-资源MapReduce计算思想MapReduce工作机制.docx
- 基于Hadoop构建数据分析系统-资源实验1:使用python编写数据入库程序实验1:使用python编写数据入库程序.docx
- 基于Spark构建数据分析系统-习题基于Spark构建数据分析系统-习题15.2.2申请微盘开发者账号.docx
最近下载
- 劳动教育论文:依托学校种植园培养小学生劳技素养的实践研究.docx VIP
- 《斯特林制冷机》课件.ppt VIP
- 2024北京清华附中初二(上)期中物理(教师版).docx
- 2025领导干部任前廉政法规知识竞赛题库及参考答案.docx VIP
- 三个女性文本和一种帝国主义批评.pdf
- 2023学年新教材高中英语Unit3Festivalsandcustoms写作指导介绍传统节日课件牛津译林版必修第二册.pptx VIP
- 技术要素市场化配置水平测度及区域差异分析.pdf
- 统计预测与决策教材.pdf VIP
- 17J008 挡土墙(重力式、衡重式、悬臂式)(最新).pdf VIP
- Prayer X钢琴谱五线谱 完整版原版.pdf
文档评论(0)