Pour les tâches rapides où j'utilise seulement un objet instancié une seule fois, je suis conscient que je peux faire ce qui suit:Syntaxe d'instanciation anonyme - bonne ou mauvaise?
int FooBarResult = (new Foo()).Bar();
Je dis cela est tout à fait acceptable avec des objets non jetables et plus lisible que l'alternative:
Foo MyOnceUsedFoo = new Foo();
int FooBarResult = MyOnceUsedFoo.Bar();
Qui utilisez-vous et pourquoi?
Utiliseriez-vous ce type d'instanciation anonyme dans une application de production?
Préférence: avec des parenthèses "(new Foo()). Bar();" ou sans "new Foo(). Bar();"?
(sous la direction à la question abstraire de la classe au hasard)
Il n'y a pas de distribution si vous générez un seul nombre aléatoire. Et si Random() a un mauvais comportement de démarrage à froid, vous n'obtenez aucun nombre uniforme de toute façon. –
@danbruc: Techniquement, il y a une distribution, mais oui, j'ai compris. Tu as raison. Mais j'ai vu des développeurs utiliser cette méthode pour générer des nombres aléatoires dans une boucle plusieurs fois. Je pensais qu'il est assez important de le mentionner ici. –
Ack complet sur cela - vous ne devriez même pas penser à générer plusieurs nombres de cette façon. –