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

  1. FEnet.NETナビ
  2. .NETコラム
  3. プログラミング言語
  4. C#
  5. C#のActionの使い方。Funcとの違いやデリゲートの解説

C#のActionの使い方。Funcとの違いやデリゲートの解説

  • C#
  • プログラミング言語
公開日時:   更新日時:
C#のActionの使い方。Funcとの違いやデリゲートの解説
この記事でわかること
    基本情報技術者試験の試験対策はこちら>>

    デリゲートを初めて聞いたという方も、ファンクション(Function)は何となく聞き覚えがあるのではないでしょうか。何となく「関数が関連するのかな?」と思った方、正解です。
    この記事では、デリゲートの使い方やActionとFuncの違いについてご紹介しますので、ぜひ参考にしてみてください。

    プログラマー
    デリゲートを介して関数を呼び出して欲しいといわれたのですが、さっぱり分かりません。どのように実装すればよいのでしょうか?
    プロジェクト
    リーダー
    関数の扱い方の前にまず、デリゲートについて理解していくところから始めてみようか。

    実行環境
    ・Windows 10 Home
    ・Visual Studio Community 2019

    C#のデリゲートとは?

    C#のデリゲートとは、メソッドを参照できる関数ポインタのような型です。
    デリゲート型は以下のような形式で定義します。

    デリゲート型と同じ引数、戻り値となるメソッドであれば、デリゲート名に代入することができます。難しく考える前に、まずはサンプルコードを見てみましょう。

    デリゲート型と同じ引数、戻り値となるため、★の位置で、GetLeftStrメソッドとGetRightStrメソッドが代入できています。
    設定されたメソッドに応じた結果(文字列)が出力されていることも確認できました。

    Actionの使い方

    先ほど紹介したデリゲートでは、デリゲート型で変数を宣言してからメソッドを代入していましたが、何も返さないメソッドの場合、Actionで定義できます。

    デリゲート型の変数を明示的に宣言せず、Actionを使用してメソッドが呼び出せています。

    FuncとActionの違い

    Funcとは、デリゲートの宣言をシンプルにしたものと考えてください。引数は最大16個まで指定可能です。

    また、Actionも引数を与えることが可能ですが、FuncとActionの違いとしては、戻り値の有無となります。Actionでは戻り値がありません。

    それでは、前項で示したデリゲート型を使用したサンプルコードを、Funcに置き換えてみましょう。

    デリゲート型の変数を明示的に宣言せず、Funcを使用してメソッドが呼び出せています。

    プログラマー
    なるほど、関数の呼び出しはこのように実装するのですね!勉強になりました。今回はActionを使おうと思います。
    プロジェクト
    リーダー
    理解してもらえたようで良かったです。デリゲートは難しいかもしれません。実際にコードを作成して、より理解を深めてみると良いでしょう。

    ActionとFuncの違いを理解して使いこなそう

    今回は、デリゲートの使い方やActionとFuncの違いを紹介しました。関数を変数のように扱えるイメージなので最初は戸惑うかもしれませんが、使いこなせば便利な機能になると思います。デリゲートの基本からこの機会に使い方を覚えて、これからのコーディングに生かしてみてください。

    >>>C#の案件を探すならFEnet .NET Navi

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

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

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

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

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

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

    • 充実した研修制度

      充実した研修制度

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

    • 資格取得を応援

      資格取得を応援

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

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

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

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

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

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

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

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

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

    C#新着案件New Job