C 如何 override ToString方法

2021-10-08 19:20:44 字數 1140 閱讀 6799

眾所周知,在c#中所有的class和struct都會繼承object類。所以,在c#中,每乙個object都有乙個tostring的方法,他會返回相關的string。比如我們來看一下下面這個例子:

int x = 7;

console.writeline(x.tostring());

bool xb = true;

console.writeline(xb.tostring());

string xs = "test";

console.writeline(xs.tostring());

他們的輸出如下:

下面我們來看乙個類,這個是乙個很簡單的類,他包含兩個property name和age,這裡我們就overrid了tostring的函式,你可以使用任何你想要的方式來重寫這個函式,只要return乙個string就可以了。

class person

public int age

public override string tostring()

, age is ", name, age);}}

呼叫的**如下:

person person = new person ;

console.writeline(person.tostring());

這樣就可以顯示下面這個輸出了:

tostring的override就是這麼簡單,和別的overide的函式並沒有太多的差別,但是他用的非常多,因為我們經常會需要列印一下log,而tostring基本就是我們列印log的首選函式,你不需要定義什麼別的函式比如showpersoninfo之類的來返回乙個string,只要重寫tostring函式就可以了。

歡迎關注個人小站:

如何學好C

一些同學問我,如何學好c 我沒有別的辦法給你們,唯一的辦法就是讀書,讀大量的書,就可以解決。要把c 作為日常語言,而不是一種程式語言,這樣就好辦了。有人又要問我,那麼我應該讀什麼書才好?沒有時間怎麼辦?我只能對你們說,沒時間的話,就別學c 了,做你們喜歡做的事。生活中沒有c 也同樣美好。如果你準備學...

如何理解C

如何理解c 面對這個問題,一千個人有一千個哈姆雷特。我也不知道如何理解c 畢竟我c 程式設計經驗實在是少。在閱讀effective c 這本書時,條款01 視c 為乙個語言聯邦裡面貌似給出了解釋,但是不知道能不能作為這個問題的答案。說起c 大多數人都會和c聯絡起來。誠然,c 是c的超集,c是c 的子...

如何學習C

本文 如何學習c 原創作者對這個問題給出了非常詳盡的解答,現總結如下 c 有著穩定的應用市場 c 程式設計師往往具有競爭力的薪酬 很多初學者一上來沉浸於所謂經典書籍編寫的只有20 使用場景的無限細節上,浪費了太多精力,實際收效卻很小。原因在於沒有抓到重點,沒有分清主次。哪些是主要的 基礎語法,以及日...