C#装箱和拆箱操作实例分析

作者:Quber 时间:2021-10-25 13:17:36 

本文实例讲述了C#装箱和拆箱操作。分享给大家供大家参考,具体如下:

1. C#中的装箱

C#中的装箱就是把一个值类型隐式地转换为object类型,转换过程中采用的是值的拷贝而不是引用,这从下面的例子可以看出:


using System;
public class Test
{
 public static void Main(String[] args)
 {
   int i = 10;
   //将值类型的i装箱
   //需要注意的是:这里的装箱采用的是值的拷贝
   object obj = i;
   //检验是否装箱成功了
   if(obj is int)
   {
    Console.WriteLine("数据已经装箱!");
   }
   //我们在这里更改i的值
   i = 33;
   Console.WriteLine("int i现在的值是:{0}",i);
   Console.WriteLine("int i装箱的值是:{0}",obj);
 }
}

2. C#中的拆箱

C#中的拆箱就是把一个对象类型显式地转换为值类型,注意:要转换的类型必须和值类型是兼容的。举例如下:


int i = 10;
object obj = i;
int j = (int)obj;

在这里需要注意的是:

装箱和拆箱是非常影响程序性能的,在代码中应避免装箱和拆箱的操作。可以使用泛型来减少这样的操作。

希望本文所述对大家C#程序设计有所帮助。

标签:C#,装箱,拆箱
0
投稿

猜你喜欢

  • SpringIOC框架的简单实现步骤

    2021-10-28 21:44:35
  • SpringbootJPA分页 PageRequest过时的替代方法

    2022-03-10 11:53:13
  • Java8时间接口LocalDateTime详细用法

    2023-11-25 09:56:49
  • java 遍历request中的所有表单数据的实例代码

    2021-10-21 11:19:26
  • c# 复写Equals方法的实现

    2023-06-09 01:35:35
  • 在Maven下代理服务器设定的方式

    2023-10-15 02:17:13
  • Java super关键字的使用详解

    2021-11-30 13:40:43
  • Java数据结构与算法之稀疏数组与队列深入理解

    2022-05-31 06:33:11
  • C#使用ICSharpCode.SharpZipLib.dll进行文件的压缩与解压功能

    2022-01-09 15:30:45
  • java中Locks的使用详解

    2023-11-29 00:18:38
  • 为什么mybatis中的SqlSession一定要关闭

    2022-02-24 07:57:11
  • C语言 超详细总结讲解二叉树的概念与使用

    2023-11-08 20:24:56
  • JavaWeb登录界面登录失败在同一页面进行提示的解决

    2023-11-26 15:51:34
  • 基于maven的三种packaging方式

    2021-09-30 22:15:05
  • Java开发之内部类对象的创建及hook机制分析

    2023-11-27 04:45:20
  • C#构造函数在基类和父类中的执行顺序

    2021-10-24 06:58:03
  • 基于rocketmq的有序消费模式和并发消费模式的区别说明

    2021-10-29 08:41:02
  • Springboot配置security basic path无效解决方案

    2023-07-12 21:42:50
  • java实现列表、集合与数组之间转化的方法

    2023-11-29 10:17:38
  • 浅析c# 线程同步

    2022-09-19 18:43:03
  • asp之家 软件编程 m.aspxhome.com