2011年08月07日
川俣晶の縁側ソフトウェア技術雑記total 2616 count

C#のparamsとは何だろうか

Written By: 川俣 晶連絡先

 急に基本的なことが妙に気になって考えてみました。

 C#はparamsキーワードで可変長引数が可能です。

 ところがこの機能はねじれていて、paramsキーワードが付いていると配列を引数として受け入れ可能です。

 つまり、可変長引数は「可変長引数」と言いながら配列も受け入れます。

 そこで逆から考えます。

 配列を引数として持つメソッドにparamsキーワードを付けるとどうなるのかといえば、依然として配列は受け入れ可能です。では、そのとき引数に配列では無く可変長引数を書いた場合は何が起きるのか。引数となる配列の初期値となるわけですね。

 つまり、配列の初期値を直接列挙できるシンタックスシュガーとしてparamsは使えるみたいですねえ。

 良く分からないけれど、ソースをシンプルに短くできる可能性はありそう。

※ ただし、paramsの制約から全てのケースで上手く行くわけではない

Facebook

キーワード【 川俣晶の縁側ソフトウェア技術雑記
【技術雑記】の次のコンテンツ
2011年
08月
17日
VS2010とTFSのインストーラープロジェクトでソリューションを開き直すと、以前に除外したファイルが再び含まれる
3days 0 count
total 2847 count
【技術雑記】の前のコンテンツ
2011年
08月
07日
脱Googleは可能か? Bing乗り換え記
3days 0 count
total 10399 count

このコンテンツを書いた川俣 晶へメッセージを送る

[メッセージ送信フォームを利用する]

メッセージ送信フォームを利用することで、川俣 晶に対してメッセージを送ることができます。

この機能は、100%確実に川俣 晶へメッセージを伝達するものではなく、また、確実に川俣 晶よりの返事を得られるものではないことにご注意ください。

このコンテンツへトラックバックするためのURL

http://mag.autumn.org/tb.aspx/20110807132222
サイトの表紙【技術雑記】の表紙【技術雑記】のコンテンツ全リスト 【技術雑記】の入手全リスト 【技術雑記】のRSS1.0形式の情報このサイトの全キーワードリスト 印刷用ページ

管理者: 川俣 晶連絡先

Powered by MagSite2 Version 0.33 (Alpha-Test) Copyright (c) 2004-2018 Pie Dey.Co.,Ltd.