- PR -

C#でのNamedValuesの使用

1
投稿者投稿内容
NORIX
常連さん
会議室デビュー日: 2004/08/31
投稿数: 30
投稿日時: 2005-01-06 11:39
いつもお世話になってます。

C#で開発を行っているのですが、あるメソッドの戻り値としてNamedValuesで返そうと思ったのですが、C#ではNamedValuesはあまりメジャーに使用されるものではないのですかね?
返したい値は
[名前(string)、値(string)] × n
なだけですので、配列(string[2,n])で返してしまえばいいのかもしれませんが、エラーチェックメソッドのためエラーなしの場合は何も値は返さないので、コレクション系で返すべきなのだろうなと考えています。
「名前」の部分は重複する可能性があるため、HashTableではキーが重複してしまうので使用できません。
ArrayListに配列(string[])をaddして・・・というのはあまりスマートではないような気がしてしまい、、、。
こういう場合は、どういう形でリターンするのが最良なのでしょう。経験が足りずくだらない質問ですみません。お知恵をお貸しください。
よろしくお願いいたします。
Nilpo
会議室デビュー日: 2005/01/06
投稿数: 5
投稿日時: 2005-01-06 13:06
System.Collections.Specialized.NameValueCollection
が最適かと思われます。

NameValueCollection は、重複するキーが存在する場合は NameValueCollection.Item プロパティの値がコンマ区切りになりますので、必要に応じて NameValueCollection.GetValues メソッドを呼び出して値を配列で取り出します。
浮嶋
会議室デビュー日: 2004/01/08
投稿数: 14
投稿日時: 2005-01-06 13:14
禰宜と申します。

プロパティを2つ持つクラスを作成して、
それをコレクションに追加し、戻り値にする方法がまず思いつきます。

型チェックや細かい制御をするならばCollectionBaseクラスを継承して
カスタムコレクションを作成するのもひとつの方法ですよね。

NORIX
常連さん
会議室デビュー日: 2004/08/31
投稿数: 30
投稿日時: 2005-01-06 14:21
Nilpoさん、禰宜さん ありがとうございました。

NameValueCollectionを使用して値を戻すことにしました。
どうもありがとうございました。

1

スキルアップ/キャリアアップ(JOB@IT)