当前位置:K88软件开发文章中心编程语言.NET.NET01 → 文章内容

例说C# object类型

减小字体 增大字体 作者:佚名  来源:翔宇亭IT乐园  发布时间:2018-12-31 11:14:18

:2010-05-08 08:35:00

这篇关于C#Object类型的文章最初写在我的个人博客了,这次把它粘在这里,构成C#基础知识的一部分,如果大家对C# object有什么新的认识,请留言。

object 类型在 .NET Framework 中是System.Object 的别名。在 C# 的统一类型系统中,所有类型(包括预定义类型、用户定义类型、引用类型和值类型)都是直接或间接从System.Object 继承的。所以,我们可以称object类型是.NET数据类型的祖宗。因此,我们可以把任何类型的值赋给object 类型的变量。我们把这个过程称之为装箱,这一点,我已经在另外一篇文章中说了,在这里不再赘述,下面给出一个简单的例子。

// keyword_object.cs
       using System;
       class SampleClass
       {
             public int i = 10;
       }

class MainClass
       {
           static void Main()
           {
                object a;
                a = 1;   // an example of boxing(装箱操作)
                Console.WriteLine(a);       //输出a的值
                Console.WriteLine(a.GetType());         //输出a在System的信息
                Console.WriteLine(a.ToString());        //将a转换为字符串后输出

        a = new SampleClass();          //把把类类型赋给对象类型a
               SampleClass classRef;           //定一个类SampleClass的对象classRef
               classRef = (SampleClass)a;    //把a强制转换为SampleClass类型并赋给对象classRef
              Console.WriteLine(classRef.i); //把对象classRef中的i输出
          }

      }

输出结果如下:
      1
      System.Int32
      1
      10

(注:本例子摘自msdn.microsoft.com,并作了简单注释)

本文为自己原创,请勿转载。如需转载请注明出处:翔宇亭IT乐园



例说C# object类型