博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
判断一个OBject类型是值类型还是引用类型
阅读量:6612 次
发布时间:2019-06-24

本文共 786 字,大约阅读时间需要 2 分钟。

“根据定义,所有的值类型都必须从System.ValueType派生,所有的枚举都从System.Enum抽象类型中派生,后者又从System.ValueType派生的”                               -------摘自《CLR VIA C#》;

可以通过查找MSDN

测试代码:

 class Program

    {

        static void Main(string[] args)

        {
            Program p = new Program();

            int m = 1;

            Console.WriteLine("int m=1");
            p.function(m);
            double n = 2.44;
            Console.WriteLine("double n = 2.44");
            p.function(n);
            string x = "dasdas";
            Console.WriteLine("string x");
            p.function(x);
            M mm = new M();
            Console.WriteLine("M为结构体");
            p.function(mm);
            Console.WriteLine("Program p ");
            p.function(p);
            Console.ReadLine();
        }

        public void function(Object o)

        {

          if (o.GetType().IsValueType)

                Console.WriteLine( "类型:" + o + "为值类型");
            else
               Console.WriteLine( "类型:" +o + "为引用类型");
        }

    }

    public struct M
    {
        int x;
        int y;
    }

输出结果:

 

转载于:https://www.cnblogs.com/h20064528/archive/2012/04/23/2466123.html

你可能感兴趣的文章
【转】关于大型网站技术演进的思考(十二)--网站静态化处理—缓存(4)
查看>>
积跬步,聚小流------Bootstrap学习记录(1)
查看>>
HDUPhysical Examination(贪心)
查看>>
Android官方架构组件LiveData: 观察者模式领域二三事
查看>>
你必须知道的HTTP基本概念
查看>>
Android ContentProvider调用报错"Bad call:..."及相关Binder权限问题分析
查看>>
基本shell脚本的编辑及变量
查看>>
加密和解密 tar
查看>>
将datatable 保存为 Excel文件(高效率版本)
查看>>
C/C++五大内存分区(转)
查看>>
CentOS 6.5下PXE+Kickstart无人值守安装操作系统
查看>>
xtrapivotcontrol 控件用法及相关属性
查看>>
Shell脚本 常用命令总结 二
查看>>
JS模拟select下拉菜单
查看>>
vmware workstation14永久激活密钥分享
查看>>
iOS 多线程 之 GCD(大中枢派发)(一)
查看>>
Myeclipse中打开接口实现类的快捷键
查看>>
删除sql dump中的AUTO_INCREMENT
查看>>
使用JdbcTemplate和JdbcDaoSupport
查看>>
C博客作业--指针
查看>>