深入.NET数据类型(2)
时间:2022-05-04
本文章向大家介绍深入.NET数据类型(2),主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
一.装箱和拆箱
将值类型转换为引用类型的过程称为装箱,反之称为拆箱
实际开发尽量避免 装/拆 箱
原因:
装/拆 箱都会降低程序性能
示例代码:
static void Main(string[] args)
{
int num = 1;
object obj = num; //有装箱操作
int result = (int)obj; //拆箱操作
//要想拆箱,先有装箱。
}
二.不同类型的参数传递
1.值方式参数传递
1)使用值类型作为参数
以值类型作为参数进行值方式传递参数时,不能改变值类型参数的值
int num1 = 3;
int num2 = 5;
Console.WriteLine("交换前:num1的值{0}tnum2的值{1}", num1, num2);
//最简单的两个变量交换
//借助第三方
Change(num1, num2);
Console.WriteLine("交换后:num1的值{0}tnum2的值{1}", num1, num2);
static void Change( int num1, int num2)
{
int temp = num1;
num1 = num2;
num2 = temp;
}
2)使用引用类型作为参数
以引用类型作为参数进行值方式传递参数时,能改变引用类型参数的值
static void Main(string[] args)
{
Voter voter = new Voter();
SE se = new SE();
se.popularity = 10;
voter.Vote(se);
voter.Vote(se);
Console.WriteLine(se.popularity);
}
public void Vote(SE se)
{
se.popularity++;
}
public class SE
{
public int popularity;
}
2.引用方式参数传递(ref)
1.使用引用类型作为参数
以值类型作为参数进行引用方式传递参数时,能改变值类型参数的值
int num1 = 3;
int num2 = 5;
Console.WriteLine("交换前:num1的值{0}tnum2的值{1}", num1, num2);
//最简单的两个变量交换
//借助第三方
Changeref num1,ref num2);
Console.WriteLine("交换后:num1的值{0}tnum2的值{1}", num1, num2);
static void Change(ref int num1,ref int num2)
{
int temp = num1;
num1 = num2;
num2 = temp;
}
2.使用引用类型作为参数
以值引用型作为参数进行引用方式传递参数时,能改变引用类型参数的值
static void Main(string[] args)
{
Voter voter = new Voter();
SE se = new SE();
se.popularity = 10;
voter.Vote(ref se);
voter.Vote(ref se);
Console.WriteLine(se.popularity);
}
public void Vote(ref SE se)
{
se.popularity++;
}
public class SE
{
public int popularity;
}
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Linux下MongoDB的安装和配置教程
- Linux配置实现免密钥登录过程解析
- 可以提高效率的十个Linux命令别名汇总
- 基于linux命令提取文件夹内特定文件路径
- Ubuntu20.04修改ip地址的方法示例
- Linux 逻辑卷管理(LVM)使用方法总结
- Linux 下载安装VSCode 使用编程输出当前时间的方法
- 详解Linux获取线程的PID(TID、LWP)的几种方式
- Linux文件基本属性知识点总结
- Linux MySQL忘记root密码解决方案
- 如何使用iostat查看linux硬盘IO性能
- linux搭建NFS文件共享服务器的步骤详解
- Windows和Linux实现远程桌面连接
- Ubuntu19.10开启ssh服务(详细过程)
- Ubuntu 18.04更换apt-get源的方法