私はジョン・スキートの彼の本の早期アクセス版を読み始めました。これにはC#4.0のセクションが含まれていますが、私は1つのことに気づきました。残念ながら、私はVisual Studio 2010を利用できないので、代わりにここで質問して、誰かが答えを知っているかどうかを確認したいと思いました。
次のコード、既存のコードと新しいコードの混合物がある場合:
public void SomeMethod(Int32 x, Int32 y) { ... }
public void SomeMethod(Int32 x, Int32 y, Int32 z = 0) { ... }
コンパイラは、定義サイトまたは呼び出しサイトのいずれかで、あいまいさの可能性について不平を言いますか?
たとえば、このコードは実際に何をしますか?
SomeClass sc = new SomeClass();
sc.SomeMethod(15, 23);
コンパイルされますか?zパラメータのないものを呼び出すのでしょうか、それともzパラメータのあるものを呼び出すのでしょうか。