1

次のコードをテストすると:

struct MyStruct
{
    int number;
}

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

コンソールの結果は次のようになります[some namespace].MyStruct

default(MyStruct)問題は、の戻り値を別のものに変更するにはどうすればよいかということです。

4

2 に答える 2

1

defaultキーワードの動作を変更することはできません。値、参照、および構造体型の動作が事前定義されています。

構造体の場合、値型か参照型かに応じて、構造体の各メンバーをゼロまたは null に初期化して返します。

ソース

于 2012-09-28T04:55:45.657 に答える
0

さらに調べてみると、ToStringメソッドをオーバーライドして印刷結果を変更できるようです。値型のデフォルトのToString実装は次のようになります。

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

私はそれを上書きして何か他のものを印刷することができます。

于 2012-09-28T05:09:16.917 に答える