在C#的類或結(jié)構(gòu)中重寫ToString方法的用法簡(jiǎn)介
C# 中的每個(gè)類或結(jié)構(gòu)都隱式繼承 Object 類。因此,C# 中的每個(gè)對(duì)象都會(huì)獲得 ToString 方法,此方法返回該對(duì)象的字符串表示形式。例如,所有 int 類型的變量都有一個(gè) ToString 方法,此方法可讓這些變量將其內(nèi)容作為字符串返回:
int x = 42; string strx = x.ToString(); Console.WriteLine(strx);
輸出:
42
創(chuàng)建自定義類或結(jié)構(gòu)時(shí),應(yīng)該重寫 ToString 方法,以便向客戶端代碼提供類型信息。
當(dāng)您決定通過(guò)此方法提供的信息的類型時(shí),應(yīng)考慮您的類或結(jié)構(gòu)是否會(huì)被不受信任的代碼使用。請(qǐng)務(wù)必確保您沒(méi)有提供任何會(huì)被惡意代碼利用的信息。
在類或結(jié)構(gòu)中重寫 ToString 方法
通過(guò)下面的修飾符和返回類型聲明 ToString 方法:
public override string ToString(){}
實(shí)現(xiàn)該方法,使其返回一個(gè)字符串。
下面的示例返回類的名稱以及特定于該類的某個(gè)實(shí)例的數(shù)據(jù)。
class Person { public string Name { get; set; } public int Age { get; set; } public override string ToString() { return "Person: " + Name + " " + Age; } }
您可以測(cè)試 ToString 方法,如下面的代碼示例所示:
Person person = new Person { Name = "John", Age = 12 }; Console.WriteLine(person);
輸出:
Person: John 12
相關(guān)文章
關(guān)于C#基礎(chǔ)知識(shí)回顧--反射(三)
在前面例子中,由于MyClass類型的對(duì)象是顯示創(chuàng)建的,因此使用反射技術(shù)來(lái)調(diào)用MyClass上的方法沒(méi)有任何優(yōu)勢(shì)--以普通的方式調(diào)用對(duì)象上的方法會(huì)簡(jiǎn)單的多2013-07-07C#使用Win32?Api實(shí)現(xiàn)進(jìn)程注入到wechat的過(guò)程
這篇文章主要介紹了C#使用Win32?Api實(shí)現(xiàn)進(jìn)程注入到wechat,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-09-09C#基于Sockets類實(shí)現(xiàn)TCP通訊
這篇文章主要為大家詳細(xì)介紹了C#基于Sockets類實(shí)現(xiàn)TCP通訊,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01C#難點(diǎn)逐個(gè)擊破(5):類的訪問(wèn)類型
類的訪問(wèn)類型有時(shí)也叫訪問(wèn)級(jí)別,使用以下訪問(wèn)修改符:Public、Protected、Private、internal、protected internal。2010-02-02WPF應(yīng)用啟動(dòng)慢的問(wèn)題解決
今天碰到一個(gè)奇怪的現(xiàn)象,在某些機(jī)器上,進(jìn)行了系統(tǒng)還原后,WPF應(yīng)用打開(kāi)較慢,約有35s。本文先記錄下該問(wèn)題的解決方案,應(yīng)用啟動(dòng)性能官方文檔中有說(shuō)明,還有搜到的其它方案沒(méi)來(lái)得及測(cè)試,如NGEN update2021-05-05