DeclarationsKotlinと違って、C#はメソッドのキーワードはありません。そのため、多種多様な構文を熟知しどれがメソッドであるかを把握する必要があります。言っても、メソッドには引数を宣言する()があるので、()があるけどメソッドではないものを区別できるようになればいいでしょう。UsageParametersKotlinと違いC#は型を前置します。ArgumentsC#にもデフォルト引数があります。functionsすでに何度も登場していますが、Kotlinで言うところのUnitはC#ではvoidです。C#ではメソッドの返り値の宣言を省略することはできません。functions既に説明済みなので割愛。types上述の通りC#では返り値の宣言は省略することはできません。(Varargs)KotlinでのvarargキーワードはC#ではparamsキーワードとなっています。宣言時から配列として明示しているのでメソッド内で引数利用時に型がどうなるのか困る心配はありません。}}また、params引数は最終引数である必要があります。notation当する機能がないため割愛。FunctionsKotlinとほとんど同じです。}}実はC#のローカルメソッドはコンパイル時に通常のメソッドに展開されます。デリゲートの場合はメソッドとなるクラスが疑似的に作成されてしまいますが、ローカルメソッドの場合、ただのメソッドとなるのでパフォーマンス上良いとも言われています。Functions説明するまでもないので割愛。FunctionsC#では型パラメーターの宣言箇所が違うので注意が必要です。FunctionsC#にはインライン化させることができません。いうと、C#では書かれたコードを機械的にCIL(共通中間言語)へと翻訳するだけで、最適化はそのあとのJIT頼みです。そのため、インライン化するかどうかはメソッドの処理の量で変わったりします。いちおう、インライン化してくれ~と頼むことはできますが実際にインライン化される保証はありません。Functionsこちらで説明済み。Lambdas次章で説明します。functions該当する機能がないため割愛。meil.スターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。