私はC#およびプログラミング全般に対してかなり新しいので、なぜこの質問をしていますか?構造体またはクラスをパラメータとして使用する
私は最近、同僚が自分のコードを見直しました。彼は次の方法では、いくつかのパラメータにクラスを使用する必要があると述べました。
public List<Items> DoSomething(List<OtherItems> someItems, int amountOfItems,
DbGeopgrahpy Location)
{ //More stuff, irrelevant to the question.
彼は私が代わりにそれらの値を含むことになり、クラスでamountOfItems
とLocation
を置くべきであると指摘しました。
このメソッドは、このデータをクライアントに返すコントローラから呼び出されます。
私の質問はです。なぜですか?私はそれが可読性を向上させることは理解しています(間違いなく)が、クラスとしてパラメータを使うことにはどんな利点がありますか?このメソッドを呼び出すたびにクラスを宣言しなければならない場合、これがパフォーマンスに悪影響を及ぼすことすら想定できます。
これは構造体がこのように使用できることがわかりました。これが良い習慣であれば、いつ構造体を使用すればいいですか?
*なぜ*今、私の質問は - なぜあなたは彼に尋ねませんでしたか?既存のトピック「struct vs class」は数多くあります。 [ここ](http://stackoverflow.com/q/3942721/1997232)。 – Sinatr
@Sinatrええ私は自分の間違いを認識しています、この人は現時点では会社にいませんので、もう質問はできません。また、私は構造体対クラスの使用について知っていますが、いつそれらをパラメータとして使うべきですか? – RandomStranger
これらの2つのパラメータで構成される潜在的なクラス/構造体が、その呼び出しだけではなく、より多くの用途を持っているかどうか自問してください。あなたは、 "MyLovelyClassUsedToCallDoSomething"以外のそのようなクラスの意味のある名前を知っていますか?それを忘れないなら。 – Ralf