これらは同じですか?
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(ただし、クラスの奇妙な名前です)。