1
    public ClassType(string type) {
        Type = type;
    }
    public ClassType(string type,bool isArray=false) {
        Type = type;
        IsArray = isArray;
    }


    ClassType ct = new ClassType("adsf");

どのコンストラクターが選択されますか?

4

2 に答える 2

7

オプションのパラメーターを必要としないオーバーロード。ここでは「はい」または「いいえ」の決定にすぎないことに注意してください。「オプションのパラメーターが自動的に入力されない」は「いくつかのオプションのパラメーターが自動的に入力される」よりも望ましいですが、1 または 2 が入力されるという優先順位はありません。あいまいです。)

C# 4 仕様のセクション 7.5.3.2 から:

それ以外の場合、M Pのすべてのパラメーターに対応する引数があり、M Qの少なくとも 1 つのオプションのパラメーターをデフォルトの引数で置き換える必要がある場合、M Pは M Qよりも優れています。

于 2010-07-13T12:41:45.470 に答える
1

ジョンが言ったように、2 つの言葉で言えば、最初の言葉です。マッチは「よりクリーン」です。

于 2010-07-13T12:45:29.657 に答える