2022 鐵人賽文 搬回點部落
開始試煉
連續講了許多自訂 class 想到其實 Object 也很值得提一下
先來看code
class Employee
{
}
static void Main(string[] args)
{
var a = new Employee();
}

請問 為何啥都沒有的Employee 就有四個方法可以呼叫呢
其實就是Object提供的

可以看到VS2022 你打上 System.Object 會變暗
就表示其實你可以不需要打
在C# 的世界中 所有物件都是繼承System.Object
然後來看看 Object提供的四個方法有何用途吧
Equals (可以override)
之前有提到過 就是定義相等
GetType
就是取得 該物件的Type class 也是反射的起手式
ToString (可以override)
將物件變成文字

所以預設會是 Type 名稱
GetHashCode (可以override)
就是算出該物件的唯一數字
可以用int 測試看看 你int的數值多少 GetHashCode 就會是多少

知道這四個方法的來源後
再回去看自訂方法class 的應用 會有清楚一點吧
結束試煉
明天就是最後一個試煉了 30天快要結束了
如果內容有誤請多鞭策謝謝