首頁  >  文章  >  後端開發  >  C#學習日記14---引用類型 之 object類

C#學習日記14---引用類型 之 object類

黄舟
黄舟原創
2017-01-20 13:53:511591瀏覽

     先讓我們了解下什麼叫object類別

Object類別:

       object類別是所有類型的基底類別,所有類型都是由他派生而來,C#中所有的類別都是直接或間接的從Sytem. Object類別中繼承,(可能有點迷糊,沒關係,舉個例子,如果Object類別是樹幹,我們前面所學的所有類別就是樹枝或樹葉了懂了吧)。因此,對Object類型的變數可以賦予任何類型的值。

設定一個Object變數:

        對Object類型的變數聲明,以object 關鍵字;這個關鍵字是在.Net框架結構為我們提供的預設名字空間System中定義的,是類別System.object 的別名。定義格式是這樣:object  變數名稱;

實例:

using System;  
using System.Collections.Generic;  
using System.Linq;  
using System.Text;  
  
namespace Test  
{    
    class Program  
    {  
         static void Main(string[] args)  
        {  
            object Int,Str,Doub,Ch;    //定义4个object变量  
            Int = 1;                   //整形赋值成功    
            Str = "HC666";             //string类型赋值成功  
            Doub = 12.32;             //double 类型赋值成功  
            Ch = '男';               //char 类型赋值成功  
            Console.WriteLine("Int = {0}\tStr = {1}\tDoub = {2}\tch = {3}",Int,Str,Doub,Ch);   
              
        }  
    }  
}

輸出結果:(完全一致^_^)

C#學習日記14---引用類型 之 object類

實例探索:

的基底類,那我們定義一個Struct類別與class類別也可以轉換成object嗎? ? 在上面的程式碼我加入了一些元素:

using System;  
using System.Collections.Generic;  
using System.Linq;  
using System.Text;  
  
namespace Test  
{    
    class Program  
    {  
        public struct Student  
        {  
           public string name;  
           public char sex;  
           public uint age;  
        }  
        static void Main(string[] args)  
        {  
           Student stu = new Student{ name = "HC666",sex = '男',age = 19 };  //初始化 stu   
  
           object m = stu;                 //将stu转换为object类型的对象m  
  
           Student x = (Student)m;         //将object类型的对象m 转换为Student x 要用强制转换  
            
            Console.WriteLine("name:{0}\tsex:{1}\tage:{2}",x.name,x.sex,x.age);  
                          
        }  
    }  
}
<span style="font-size:18px;">结果是这样的:</span>

C#學習日記14---引用類型 之 object類

  透過以上例子說明Struct類型與Class類型是可以與object類型相互轉換的,其轉換過程是這樣:

  Struct ---->object- --->struct;(只有Struct---->Object是不能輸出值的),在轉換過程中不會改變stu中的值

以上就是C#學習日記14---引用型別之object類別的內容,更多相關內容請關注PHP中文網(www.php.cn)!


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn