第二章 深入C#数据类型

数据类型按存储方式可分为两类:

  1. 值类型(源于System.ValueType)
  2. 引用类型(源于System.Object)

结构的定义:

  1. 结构中可以有字段也可以有方法
  2. 定义时,结构中的字段不能被赋初值

结构的使用:

  1. 可以不用new,直接定义结构的对象即可

(前提该属性的类型不是数值类型)

  1. 声明结构的对象后,必须给结构的成员赋初值

*结构是值类型类是引用类型

结构体中没有默认构造函数,但类中有默认构造函数

装箱和拆箱:

由于装箱和拆箱对系统性能损耗很大,所以在真实的开发中我们尽量避免装箱和拆箱的操作。

值方式参数传递:

在值方式参数传递时,参数可以是引用类型也可以是值类型

*值传递和引用传递判定依据没有ref

  1. 如果方法的参数类型本身就是引用类型,那么对参数值的修改会永久保存

例如:public void TP(SE se)

{

se.Count++;//真正的修改se对象的Count值

}

  1. 如果方法的参数类型本身是值类型,又没有ref修饰,那么对参数值的修改,不会永久保存()
  2. 如果方法的参数类型本身是值类型,但是有ref修饰,那么对象参数值的修改,也会永久保存。

值类型传递 :不带ref的参数传递   SE se

引用类型传递:带ref的参数传递

一道练习题:

题目:项目经理评分

实现思路:1.创建MyOffice项目,创建员工类(SE),项目经理类(PM)

  实现代码:

      

class SE
{
public int Id { get; set; }
public string Name { get; set; }
public int Age { get; set; }
public string Assess { get; set; }
public int Popularity { get; set; }
}

     2.创建查看评分窗体(FrmShow),添加定义员工数组,将员工数据绑定到FrmShow窗体的ListView控件上

      实现代码:

          

SE[] se = new SE[3];
private void FrmShow_Load(object sender, EventArgs e)
{
LoadShow();
}
/// <summary>
/// 展示员工信息
/// </summary>
private void LoadShow()
{
se[0] = new SE();
se[0].Id = 111;
se[0].Name = "王小毛";
se[0].Age = 26;
se[1] = new SE();
se[1].Id = 112;
se[1].Name = "周新雨";
se[1].Age = 22;
se[2] = new SE();
se[2].Id = 113;
se[2].Name = "张烨";
se[2].Age = 30;
//绑定到listview控件中
for (int i = 0; i < se.Length; i++)
{
ListViewItem lv = new ListViewItem(se[i].Id.ToString());
lv.SubItems.Add(se[i].Name);
lv.SubItems.Add(se[i].Age.ToString());
lv.SubItems.Add(se[i].Assess);
lv.SubItems.Add(se[i].Popularity.ToString());
this.lvlist.Items.Add(lv);
}
}

     3.双击ListView列表,弹出评分窗体(FrmJudge),进行显示

      实现代码:

        

private void FrmJudge_Load(object sender, EventArgs e)
{
this.txtName.Text = itme.SubItems[1].Text;
this.txtAssess.Text = itme.SubItems[3].Text;
this.txtPopularity.Text = itme.SubItems[4].Text;
}

     4.项目经理填写评分,评价后,弹出FrmJudge窗体关闭,刷新父窗体FrmShow中的员工信息

      实现代码:

/// <summary>
/// 对员工信息修改
/// </summary>
private void ClickUpdate()
{
string assess = this.txtAssess.Text;
string popularity = this.txtPopularity.Text;
itme.SubItems[3].Text = assess;
itme.SubItems[4].Text = popularity;
this.Close();
}

*方法调用

*值类型和引用类型

*对象数组作为参数

*窗体间数据传递

        

时间: 2024-08-03 00:26:44

第二章 深入C#数据类型的相关文章

Java 第二章 变量 、数据类型和运算符 笔记

Java 第二章 变量 .数据类型和运算符 一.变量:存储数据的一个基本单元. 二.变量的声明和赋值: 1)声明并赋值:数据类型 变量名=值;      例:int  price=1000; 2)声明.赋值分两步:数据类型 变量名;   例: int  price; 变量名=值;              price=1000; 三.数据类型2种: 1)基本数据类型8种: Byte 长度:-128~127(-2的7次方到2的7次方减1) Short   -2的15次方到2的15次方减1 Int

第二章 变量和数据类型

课时6:数据和数据类型 1.数据及数据类型 数据:指有用的信息 数据类型:对数据的分类 2.C#语言中的数据类型 Char字符类型 单个文字 (汉字,字母,数字,标点符号) 成对英文单引号表示 'A' string字符串类型 不限数量文字 (汉字,字母,数字,标点符号) 成对英文单引号示 "A" int整数类型 (简称整型) 表示一个整数 直接书写 100 double小数类型 表示包含小数点的数字 直接书写 1.1 课时7:认识变量 1.认识变量:一块存储数据的内存空间,并且该内存区

第二章 深入 C# 数据类型

1.封装又称信息隐藏,是指利用抽象数据类型将数据和数据的操作结合在一起,使其构成一个不可分割的独立实体,尽可能的隐藏内部的细节,只保留一些对外接口,使之于外部发生联系. 2.第一:重用; 第二:不必关心具体的实现; (方法) 第三:面向对象三大特征之一; 第四,具有安全性! 3.如果我们定义一个数组,并且赋值了 int[] nums={1,2}; nums当中保存 的是堆中的地址:例如:0x001 nums[0]:访问的是堆中的内容 4.值类型(在栈上存储真实的值)和引用类型(堆和栈上都要分配空

第二章 变量、数据类型和运算符

1 变量和数据类型 1.1 变量 电脑使用内存来记忆计算时所使用的数据 内存如何存储数据:内存像旅馆一样 开房间(单人间.双人间.总统套间);告诉内存在存放何种类型的数据 入住;存入数据 使用内存做什么:存放数据 怎么找到存入的数据? 根据内在地址可以找到内存空间的位置,但内存地址不好记 通过变量名可以简单快速地找到它存储的数据 1.2 数据类型 1.2.1 Java数据 那么Java中有哪些常用的数据类型呢? 正如前面所讲到的"根据数据的类型为其在内存中分配一块空间",不同的数据在存

Java第二章总结(数据类型,运算符)

一.高级语言构成 ①数据类型 ②变量 ③运算符,表达式,语句 ④标识符(系统预定义和用户自定义) ⑤语法规则 二.命名规范 1.常量字母全部大写 2.类名首字母大写 3.项目名小写 4.变量名小写,后面有单词的第一个大写 5.见名知意 6.驼峰命名法 三.数据类型 8种基本数据类型和引用数据类型 引用数据类型比如String 常量修饰符final,比如final double PI = 3.14; 基本如下: 四.数据自动类型转换 数字默认int,小数默认double float a = 3.2

第二章 变量,数据类型和运算符心得

数据的类型Java常用数据类型 1.int 2.Double 3.Char 4.String 变量声明及使用 使用声明的变量还是使用变量对应的内存空间存储的数据,但是要记住“变量都必须声明和贬值后才能使用”.因此要想使用一个变量,变量的声明和贬值必不可少. 变量命名规则 1.变量必须以字母,下划线“”或“$”符号开头 2.变量可以包括数字,但不能以数字开头 3.除了“-”或“$”符号以外,变量名不可包含任何特殊符号 4.不能使用java语言的关键字,如int,class,public等 贬值运算

第二章:数据类型和运算符

第二章:数据类型和运算符 计算机中的进制 **标识符 总的命名规则:见名知意.如果有多个单词组成,首单词小写,其余单词的首字母大写(驼峰命名法).1.首字母只能是字母,下划线和$2.其余字母可以字母,下划线,$和数字3.不能使用预留关键字4.严格区分大小写 数据类型*** 基本数据类型 整型 byte(1个字节) short(2个字节) int(4个字节) long(8个字节) 浮点型 float(4个字节) double(8个字节) 字符型 char(2个字节)采用Unicode码 布尔型 b

第二章 Mysql数据类型简介

第二章 Mysql数据类型简介 ·     第一节:整数类型.浮点数类型和定点数类型 整型: ·TinyInt   (1字节) ·SmallInt   (2字节) ·MediumInt  (3字节) ·Int和Integer(4字节) ·BigInt    (8字节) 浮点数和定点数: ·Float   (4字节) ·Double  (8字节) ·Decimal(M,D) <定点数>(M表示总长度<包含小数点>,D表示小数位数) ·      第二节:日期与时间类型 ·Year  

第二章 变量,数据类型和运算符

第二章 &变量,数据类型和运算符 英文新识: double 双精度浮点 string  字符串 character  字母 integer  整数 Scanner  扫描仪 score  分数         name  名字     boolean  布尔   true  真          false  假 语法新知: double score =98.5; //声明双精度浮点型变量score存储分数 String name="张大侠";        //声明字符串型变