2012-09-28 89 views
1

如果我測試下面的代碼:如何在C#中更改默認值([CustomStruct])的值?

struct MyStruct 
{ 
    int number; 
} 

Console.WriteLine("{0}", default(MyStruct)) 

在控制檯中的結果將是[some namespace].MyStruct

的問題是我如何可以改變default(MyStruct)別的東西回報?

+1

你的目標是?也許有更好的方法。 –

回答

1

您無法更改default關鍵字的行爲。它具有預定義的值,引用和結構類型。

對於結構體,它將返回結構體的每個成員初始化爲零或空值,具體取決於它們是值類型還是引用類型。

Source

0

進一步研究後,貌似我可以重寫ToString方法來更改打印結果。 值類型的默認的toString實現是這樣的:

public override string ToString() 
{ 
    return this.GetType().ToString(); 
} 

我可以重寫它到別的打印內容。