簡體   English   中英

如何在C#中更改default([CustomStruct])的值?

[英]How can I change value of default([CustomStruct]) in C#?

如果我測試以下代碼:

struct MyStruct
{
    int number;
}

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

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

問題是如何將default(MyStruct)的返回default(MyStruct)更改為其他值?

您不能更改default關鍵字的行為。 它具有針對值,引用和結構類型的預定義行為。

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

資源

經過進一步研究,看起來我可以重寫ToString方法來更改打印結果。 值類型的默認ToString實現如下:

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

我可以覆蓋它以打印其他內容。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM