我有以下結構:如何讓ToString()方法用於海關結構列表
struct entry
{
public string msg;
public UInt32 ts;
public bool newLines;
public entry(string message, UInt32 timestamp, bool lines = false)
{
msg = message;
ts = timestamp;
newLines = false;
}
public override string ToString()
{
return msg + (newLines ? "\n" : "");
}
};
我使用我的程序,這些結構的列表,在程序的某些部分,我需要取這些條目的列表,並將它們組合成一個由換行符分隔的長字符串。我的問題是我的ToString()方法將與List<entry>
一起使用?或者我需要重寫另一個函數?
感謝
你試過了嗎? –
你的問題沒有意義。如果你要爲'ToString()'提供一個'override'方法,那麼你可以使它的功能無論如何都是你想要的。所以至於你的最終問題**我的問題是我的ToString()方法將與列表?**當然一起工作,當然它可以使你的任何工作。 –
如果您的條目列表將會很長,那麼您應該提供一種將條目列表轉換爲所需字符串的新方法。如果您創建ToString重載,則在某些情況下,如果您不需要很長的字符串(例如,在調試器中),可能會調用它。這也可以讓你不必爲了覆蓋ToString而創建一個新的類型。如果你是新手,有時間玩,那麼我建議你試試兩種方法,這樣你就可以瞭解最適合你的方式,以及爲什麼。 – phoog