版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、在本章,你将学到: 描述内存分配 使用结构 使用枚举 实施数组 使用集合,目标,分配给变量的内存有两种: 值类型:所有内置数据类型,诸如int, char和 float 都是值类型。 引用类型: 包括引用内存块的地址。数据类型(如string和class)是引用类型。 让我们了解内存分配概念的详情。,描述内存分配,描述内存分配(续),int Num1; Num1=50;,int Num2; Num2=Num1;,值类型:,描述内存分配(续),值类型(续):,Num1=60;,Car Suzuki= new Car(); Suzuki.Model=10;,创建类Car的对象,类 Car的成员变量
2、,初始化,用Suzuki初始化Mercedes,类Car的对象,Car Mercedes; Mercedes=Suzuki;,描述内存分配(续),引用类型:,Suzuki,Mercedes,*,*,10,引用存储数据的内存位置,引用存储数据的内存位置,描述内存分配(续),引用类型(续):,结构是值类型的数据类型。 当您希望由一个变量来保持各种数据类型的相关数据时,您可以创建一个结构。 创建结构要使用struct 关键字。 以下代码显示结构数据类型的语法: struct Bill_Details public string inv_No; / 发票号 string ord_Dt;/ 定单日期 s
3、tring custName; / 客户姓名,使用结构,public string product; / 产品名 public double cost; / 产品费用 public double due_Amt; / 应付款总计 ,使用结构(续),枚举是值类型的数据类型。 枚举包含其自己的值并且不能继承或者传递继承。 枚举器使您能够将符号名称赋予完整的常量。 要进行枚举,可以使用enum 关键字。,使用枚举,以下是声明枚举类型 Days的示例: enum Days Sat, Sun, Mon, Tue, Wed, Thu, Fri ;,声明枚举,声明枚举类型后,您可以用与任何其他数据类型相同的
4、方式来使用枚举类型,如以下代码所示: int First_Day = (int)Days.Sat; int Last_Day = (int)Days.Fri;,实施枚举,实施数组,数组是相同数据类型值的集合。 下图显示系统内存中的数组结构。,Index Value 0,Index Value 6,声明数组,在程序中使用数组之前需要先声明数组。 可以使用以下语句声明数组: datatype Arrayname; 让我们通过一个示例来了解数组声明的各种元素的解释。,声明数组(续),int Score;,Datatype 用于指定元素的数据类型,声明数组(续),int Score;, 用于指定数组的
5、排列,声明数组(续),int Score;,Arrayname 用于指定数组名,将对该数组的元素进行初始化和操作,在C#中,你可以初始化数组变量,将值赋给数组元素。另外,你可以复制数组变量到另外的变量。 初始化期间,你需要使用new 关键字来创建数组的实例。另外,在初始化时指定数组的大小。 以下语句是数组初始化的示例: int Score; / 数组声明 Score = new int10; /数组实例,初始化和赋值数组,使用索引号,可以将值赋给数组的元素,索引号也称为元素的数组下标。 下面是赋值给数组的示例: int Score = new int3; Score0=10; 或 int Sc
6、ore=5,10,15; 赋值数组变量时,源和目标变量都引用内存中相同的数组实例。 下面是复制数组变量的示例: int Source = new int10 0, 1, 2, 3, 4; int Target= Source;,初始化和赋值数组(续),初始化数组时,可以访问元素值并操作它们。 foreach 循环是专门用于操作数组的。 以下是 foreach 语句的语法: foreach (type identifier in expression) /statements ,操作数组元素,以下是 foreach 语句的语法: int Numbers = 4, 3, 2, 1, 0, -1,
7、-2, 9, 5 ; Console.WriteLine(The Contents of an Array is:); foreach (int K in Numbers) Console.WriteLine(0 t,K); ,操作数组元素(续),声明方法时,如果您不能确定作为参数传递的变量数,则可以使用param 数组。 以下代码是在方法参数列表中使用param 数组的示例: public int Adding_ArrayElement(params int List) int Total = 0; foreach ( int I in List ) Total += I; return T
8、otal; ,操作数组元素(续),演示:使用数组的Matrix Subtraction,问题描述: David 是加利福尼亚大学的学生,他最近在从事 B.Sc(IT) 工作。他正在进行一个Matrix Subtraction项目。需要为该项目执行以下任务 : 接受两个数组的数据。 执行减法操作。 验证减法的值。 请帮助 David 使用 Visual Studio IDE创建 C# 程序。,解决方案: 要解决上述问题,David 需要执行以下任务: 为Matrix Subtraction创建基于 console 的应用程序。 构建并执行应用程序。,演示:使用数组的Matrix Subtract
9、ion(续),多维数组,数组的行列值就是数组的维度。 数组可以是一维或多维的。 在单维度数组中,值存储在行中。 多维度数组使用不同的维度存储数据。 下图是单维度数组和多维度数组的图形表示。,多维数组(续),在C# 中, Array 类是所有数组的基类。 Array 类提供能够使用数组的属性和方法。 属性:下表介绍一些最常用的Array 类的属性,多维数组(续),方法:下表介绍一些常用的Array 类的方法。,使用集合,数组用于收集相同数据类型的元素。 .NET Framework 提供几个以特殊方式收集元素的类,这些类是Collection 类,并且在System.Collections 名称
10、空间和子名称空间中声明。,使用集合(续),collection 类作为项目来接受、保持并返回它们的元素。 集合类的元素类型是一个对象。对象是引用类型。 Int 是值类型,int 变量的数组直接持有其 int 值,如下图所示:,使用集合(续),值类型自动转换为引用类型的操作称为装箱。 下图显示装箱技术。,使用集合(续),当您要通过数组中的索引值位置访问数组元素时,可以使用 ArrayList。 下表描述了ArrayList 类的各种方法的使用。,在本章中,您学习了: 分配给变量的内存有两种类型:值类型和引用类型。 值类型是C# 中最简单的类型。值类型的变量可以直接在变量中包含数据。 引用类型变量仅包含对数据的引用。数据存储在不同的内存区域。 值类型变量在堆栈中保留值。 引用类型变量在堆栈中保留对对象的引用。 要在一个变量中保留各种数据类型的相关数据,可以使用结构。 C# 提供 enum 特性以创建用户定义的数据类型,这种数据类型可以带有数字作为能够访问它们的索引值。 数组是相同数据类型的值集合。,小结,foreach 语句
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年湖北省洪湖市高考物理5月学情自测模拟卷及参考答案详解【模拟题】
- 2025年吉林省临江市高考物理学业考试模拟卷【黄金题型】附答案详解
- 2025年吉林省桦甸市高考物理模拟预测试卷及完整答案详解(全优)
- 2025年河南省偃师市高考物理5月学情自测试卷含答案详解(模拟题)
- 2026年湖北省利川市高考物理一轮复习模拟卷及参考答案详解(完整版)
- 2025年湖南省韶山市高考物理周测试卷及完整答案详解(易错题)
- 2026年湖北省利川市高考物理一轮复习试卷及一套完整答案详解
- 2026年淄博市张店区公务员招聘笔试参考题库及答案详解
- 2025年黑龙江省抚远市高考物理周测试卷及参考答案详解(基础题)
- 2026年钦州市钦南区公务员招聘考试备考题库及答案详解
- 陶瓷基复合材料制备-深度研究
- 计算广告学 课件全套 姜智彬 第1-13章 计算广告的内涵和特征 -计算广告法律法规
- T-ZZB 3679-2024 汽车用热塑性弹性体(TPE)脚垫
- 【MOOC】经济法学-西南政法大学 中国大学慕课MOOC答案
- 大数据与人工智能营销(南昌大学)知到智慧树章节答案
- 中考英语688高频词大纲词频表
- 大话机器人智慧树知到期末考试答案章节答案2024年青海大学
- 2023-2024学年新疆兵团农二师华山中学八年级英语第二学期期末综合测试模拟试题含答案
- 国电南瑞员工手册
- 电梯维保人员奖惩制度
- 江西省中央和省级财政资金支持的农村环境整治项目验收要点、评分表、总结报告、意见书
评论
0/150
提交评论