zoukankan      html  css  js  c++  java
  • 判断一个OBject类型是值类型还是引用类型

    “根据定义,所有的值类型都必须从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;
        }

    输出结果:

  • 相关阅读:
    不同的二叉搜索树
    二叉树展开为链表
    二叉树的中序遍历
    二叉树的直径
    树系列之对称二叉树
    从前序与中序遍历序列构造二叉树
    字符串反转
    旋转图像---二维矩阵
    双指针---最接近的三数之和
    Egret 小游戏实战教程 跳一跳(搬运二)
  • 原文地址:https://www.cnblogs.com/h20064528/p/2466123.html
Copyright © 2011-2022 走看看