C#

[C#] 可変長引数をつかってみる

こんにちは、リバティエンジニア[?]のFUNAです。 現役エンジニアとしてアプリケーション開発やWeb制作、SEOやブログ運営をしています。

みなさん「可変長引数」ってご存知ですか?

C#には"params"というキーワードを使うことで、メソッドの引数を可変にすることができます。
今回はそんな「可変長引数」について解説していきたいと思います。

C# 可変長引数とは

まずはそもそも可変長引数とはなんなのか、説明していきます。

文字を見ていただければ、想像はつくのですが関数の引数を可変(決まった数ではない)にすることができることをいいます。

パラメーターの宣言で指定した型の引数のコンマ区切りのリストや、指定した型の引数の配列を渡すことができるんです。

また、”引数を渡さない”こともできます。 引数を渡さない場合、paramsリストの長さはゼロとなります。

サンプルコード

では早速サンプルコードと一緒に見ていきましょう。

using System;

class ParamsTest
{
  static void Main()
  {
    // この値の中から最大の値を検索したい
    int a = 314, b = 159, c = 265, d = 358, e = 979;
    // 自動的に配列を作って値を格納する
    int max = Max(a, b, c, d, e);
    // 出力
    Console.Write("{0}n", max);
  }

  static int Max(params int[] a)
  {
    int max = a[0];
    for(int i=1; i<a.Length; ++i)
    {
      if(max < a[i])
      max = a[i];
    }
    return max;
  }
}

簡単に説明すると、static int Max(params int[] a) 関数の引数のところで「params」を指定します。
そうすることで、この「引数は可変ですよ!」という意味になります。

IT博士
IT博士

簡単ですよね♪

これで引数が増えたとしても、無くなったとしてもこの関数一つで対応できます。

まとめ

今回はC#の可変長引数について簡単にまとめました。

一度覚えれば簡単に実装できるし、とても便利なのでぜひ覚えておきましょう!
これでコードの節約ができますね。

C#の記事はほかにもあるので、よかったら参考にしてみてください。

【簡単解説】C# シングルトンでインスタンスをひとつに!

[C#] ラムダ式はこれさえ見ればOK!簡単徹底解説

[temp id=2]

Copyright© FUNA BLOG , 2020 All Rights Reserved.