これらは同じですか?
public void MyMethod() {do something}
public MyMethod() {do something}
void
つまり、何も返さないということです。つまり、このキーワードを除外すると、何も返さないということになりますか? もしそうなら、なぜその言葉がその言語に存在するのか - それは他の状況で使われているのか?
これらは同じですか?
public void MyMethod() {do something}
public MyMethod() {do something}
void
つまり、何も返さないということです。つまり、このキーワードを除外すると、何も返さないということになりますか? もしそうなら、なぜその言葉がその言語に存在するのか - それは他の状況で使われているのか?
2 番目のオプションはコンパイルされません。
C# 仕様では、返す結果がない場合でも、すべてのメソッドが型を返す必要があります。
メソッドは、アクセス レベル、 戻り値、メソッドの名前、および任意のメソッド パラメータを指定することによって、クラスまたは構造体内で宣言されます。...
他の人が指摘したように、例外はクラス コンストラクターです。
void または型に関係なく、常にメソッドの戻り値の型を指定する必要があります。コンストラクターは例外です。
で 2 番目のケースを実行することはできませんC#
。コンパイルされません。ではC#
、 「何もない」場合でも、常に明示的に戻り値の型を指定する必要があります。
void
構文を戻り値の型を持つ関数/メソッドと互換性を保ちながら、戻り値のないプレースホルダーになると考えてください。
最初の行はpublic
インスタンスメソッドです。というc 自体ではないclass
(またはstruct
)内でのみ発生する可能性があります。MyMethod
2 番目の例は、public
インスタンスコンストラクターです。class
それ自体が呼び出されるa の内部で発生する可能性がありますMyMethod
(ただし、クラスの奇妙な名前です)。