私はカードゲームを開発中です。Params vs. List <T>、いつparamsキーワードを使用してリストを使用するのですか<t>
このカードゲームでは、プレイヤーは同じターンにいくつかのカードを置くことができます。
私は、カードの収集パラメータはのparamsキーワードまたはリストのタイプによって実装することができますSetCardsDownと呼ばれる関数(....)
を持っています。
どのような実装を使用しますか?
おかげで、それはあなたの配列で渡す機能を与えるよう
私はカードゲームを開発中です。Params vs. List <T>、いつparamsキーワードを使用してリストを使用するのですか<t>
このカードゲームでは、プレイヤーは同じターンにいくつかのカードを置くことができます。
私は、カードの収集パラメータはのparamsキーワードまたはリストのタイプによって実装することができますSetCardsDownと呼ばれる関数(....)
を持っています。
どのような実装を使用しますか?
おかげで、それはあなたの配列で渡す機能を与えるよう
params
。それはあなたが意味を持たないパラメータに余分な機能を与えるので、あなたがリストを渡したいと思うようには思われません。例えばAdd
のように。
おそらくIEnumerable<T>
を使用します。それは最も柔軟で最も制限の少ないものです。一度C#4に移動すると、呼び出し元がLINQを使用できるようになります。
編集:または3.5でLINQを使用することができます。しかし、あなたが他の何かを使用することを余儀なくされない限り、.NET 4に移動してください。
なぜ4.0を待つのですか?それは3.5で動作します。 –
この方法には欠陥があります。例えば、 'SetCardsDown(new [] {card})'を実行せずに、1枚のカードで呼び出すことはできません。しかし、意味が分からないメソッド名に基づいています。 –
@Joel - はい、しかしOPは3.0と言っています。 – TrueWill
私は余分なfunctionallityを必要としません... – Guy
+1コメントなしでdownvoteを打ち消す。 – TrueWill