程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#學習日記14---引用類型 之 object類

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

編輯:C#入門知識

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


先讓我們了解下什麼叫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}	Str = {1}	Doub = {2}	ch = {3},Int,Str,Doub,Ch); 
            
        }
    }
}

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

data-cke-saved-src=https://www.aspphp.online/bianchen/UploadFiles_4619/201701/2017012018074446.png

 

實例探索:

上面Object的定義中強調了,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}	sex:{1}	age:{2},x.name,x.sex,x.age);
                        
        }
    }
}
 
結果是這樣的:

\

 
 

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

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

 

 

 

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved