這篇關于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,并作了簡單注釋)
新聞熱點
疑難解答