スポンサーリンク
※サイト運営にサーバーは必須です※
~ ロリポップ! はコスパのよい初心者向けサーバーです~
目次
paramsキーワード
メソッドを定義する際は、引数を指定しますが、いくつの引数を取り扱うか予めわかっていない場合があります。
paramsを使うとメソッドの引数の数を可変として扱うことができます。
paramsキーワードがなければ、いったん配列を宣言して、その配列をメソッドに引き渡す必要性があります。
しかし、paramsキーワードを使えば、配列を宣言する手間が省けます。
paramsを使用しない場合
ソースコード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Params03 { class Program { static void Main(string[] args) { string[] fruit = { "リンゴ", "みかん", "桃", "バナナ" }; Group(fruit); } static void Group(string[] arr) { foreach (string name in arr) { Console.Write(name + ","); } Console.WriteLine(); } } } |
実行結果
リンゴ,みかん,桃,バナナ,
paramsを使用する場合
ソースコード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Params04 { class Program { static void Main(string[] args) { Group("リンゴ", "みかん", "桃", "バナナ"); } static void Group(params string[] arr) { foreach (string name in arr) { Console.Write(name + ","); } Console.WriteLine(); } } } |
実行結果
リンゴ,みかん,桃,バナナ,
paramsキーワードの例
パラメーターリストに、paramsキーワード付きのパラメーター以外にもパラメーターを用意したい場合は、paramsキーワード付きのパラメーターより前に書く必要があります。
また、paramsキーワードを使ったとしても、配列を引数としてそのまま受けとることができます。
ソースコード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Params01 { class Program { static void Main(string[] args) { Group(1, "牛", "豚", "鶏"); Group(2, "魚", "貝"); string[] fruit = { "リンゴ","みかん","桃","バナナ" }; Group(3, fruit); } static void Group(int i,params string [] arr) { Console.WriteLine("グループ番号:"+i); foreach (string name in arr) { Console.Write(name+","); } Console.WriteLine(); } } } |
実行結果
グループ番号:1
牛,豚,鶏,
グループ番号:2
魚,貝,
グループ番号:3
リンゴ,みかん,桃,バナナ,
paramsキーワードの注意点
paramsキーワードを使うにはパラメーターリストの最後でないといけません。そして、パラメーターリストの中で一回しか使えません。
※仮に、複数のparamsキーワードが使えたとしら、どこでパラメーターリストを区切ればいいかわからなくなることが容易に想像がつきます。
関連記事
~ギャンブルに絶対儲かる必勝法があるのだろうか?~
私(サイト主)はこの疑問に対して非常に興味を持ち、プログラミングで検証してみました。
このサイトを応援してもいいかなと思う人はぜひとも購入を検討してみてください。