クラスをインスタンス化して 1 つのメソッドを呼び出すだけでよい場合は、次のように 1 行で実行するのが好きです。
string result = new MyClass().GetResult();
のようなことをする代わりに、
var myClass = new MyClass();
string result = myClass.GetResult();
メモリ割り当てとその後のクリーンアップに関して、同じことが舞台裏で起こっていることを私は理解しています。これは本当にそうですか、それとも違いはありますか?もしそうなら、一方は他方よりも効率的ですか?
編集:
多くの人が提案したように、メソッドを静的にすることは良い解決策です。他の誰かが作成したクラスを使用していますが、現時点ではリファクタリングまたは変更できません。この種の状況では、インラインまたは別の行でインスタンス化することに違いはありますか?
編集:
この質問に対する答えは、クラスが維持するリソースの数によって異なりますか (以下の Blam と BenCr のコメントから)。