.NETエンジニア・プログラマ向けの技術情報・業界ニュースをお届けします。

  1. FEnet.NETナビ
  2. .NETコラム
  3. プログラミング言語
  4. C#
  5. C#のdelegateを解説。基本構文やできることは?

C#のdelegateを解説。基本構文やできることは?

  • C#
  • プログラミング言語
公開日時:   更新日時:
C#のdelegateを解説。基本構文やできることは?
この記事でわかること
    基本情報技術者試験の試験対策はこちら>>

    C#のdelegateについて、できることや実際の例文を元に解説していきます。delegateはメソッドの処理において重要な役割を果たしてくれるので、ぜひ覚えておきましょう。

    プログラマー
    C#のdelegateとは何をするためにあるのでしょうか?
    プロジェクト
    マネージャー
    delegateはそもそも直訳すると「委任」「代表」という意味になります。その上でdelegateについて理解していきましょう。

    C#のdelegateとは?

    C#のdelegateは、ひとことでまとめると「メソッドを格納する変数の型」です。通常変数は文字列や数値といった一つの情報を格納しますが、delegate型を使って変数定義をするとメソッドを格納することができます。

    厳密にはメソッドそのものを格納するのではなくメソッドの場所を格納しているのですが、delegateを使う上ではメソッドを格納しているという認識でも問題ないでしょう。また、delegateが持つことのできるメソッドは一つだけではなく、複数格納できることが特徴です。

    delegateを使うと何ができるのか?

    メソッドを格納するということは、その変数がメソッドであるかのように扱うことができます。

    通常メソッドを呼び出すときはそのメソッド名を宣言して呼び出すでしょう。しかしdelegateは、delegate型の変数名を宣言することで、その変数に格納してあるメソッドを間接的に呼び出すことができるのです。

    メソッド名でよいのではないかと思われるかもしれませんが、delegateのメリットは複数のメソッドを格納できるというところにあります。

    例:
    処理中にある条件1をクリアしたら処理の最後にメソッドAを呼び出す。
    処理中さらに条件2もクリアしていたら処理の最後にメソッドBを呼び出す。

    このような処理があったときに、条件をクリアしたら最後に呼び出したいメソッドをdelegate型の変数にまとめておき、最後にそのdelegate型の変数を呼び出せば処理したいメソッドをまとめて実行することが可能になります。

    C#のdelegateの基本構文と実装例

    それでは実際にdelegateを使ってみましょう。

    delegateの基本構文

    delegateを使用するにはまず、メソッドと同様に戻り値や引数を定義する必要があります。

    ===============
    【delegateの基本構文】

    ===============

    戻り値の型や引数は必要なければ記述しなくても大丈夫です。

    delegateの実装例

    実際にメソッドを格納し、呼び出してみましょう。

    実行結果

    プログラマー
    delegateの使い方がわかりました!
    プロジェクト
    リーダー
    delegateは複数のメソッド処理においてとても便利に使うことができます。ぜひマスターしておきましょう。

    Delegateはメソッドを格納して処理を一任することができる変数

    長い処理の中でいくつものフラグ用変数を用意しておくのは、コード量が増えて後々の改修作業も大変になってしまいます。
    delegateはそんな問題を解決できる便利な変数型なので、これを機にコードに実装してみてはいかがでしょうか。

    FEnet.NETナビ・.NETコラムは株式会社オープンアップシステムが運営しています。
    株式会社オープンアップシステムロゴ

    株式会社オープンアップシステムはこんな会社です

    秋葉原オフィスには株式会社オープンアップシステムをはじめグループのIT企業が集結!
    数多くのエンジニアが集まります。

    秋葉原オフィスイメージ
    • スマホアプリから業務系システムまで

      スマホアプリから業務系システムまで

      スマホアプリから業務系システムまで開発案件多数。システムエンジニア・プログラマーとしての多彩なキャリアパスがあります。

    • 充実した研修制度

      充実した研修制度

      毎年、IT技術のトレンドや社員の要望に合わせて、カリキュラムを刷新し展開しています。社内講師の丁寧なサポートを受けながら、自分のペースで学ぶことができます。

    • 資格取得を応援

      資格取得を応援

      スキルアップしたい社員を応援するために資格取得一時金制度を設けています。受験料(実費)と合わせて資格レベルに合わせた最大10万円の一時金も支給しています。

    • 東証プライム上場企業グループ

      東証プライム上場企業グループ

      オープンアップシステムは東証プライム上場「株式会社夢真ビーネックスグループ」のグループ企業です。

      安定した経営基盤とグループ間のスムーズな連携でコロナ禍でも安定した雇用を実現させています。

    株式会社オープンアップシステムに興味を持った方へ

    株式会社オープンアップシステムでは、開発系エンジニア・プログラマを募集しています。

    年収をアップしたい!スキルアップしたい!大手の上流案件にチャレンジしたい!
    まずは話だけでも聞いてみたい場合もOK。お気軽にご登録ください。

    株式会社オープンアップシステムへのご応募はこちら↓
    株式会社オープンアップシステムへのご応募はこちら↓

    C#新着案件New Job