Voici mon code d'exemple: i vérifie si Un autre exemple est celui-ci: p> ici encore, j'exécute Je peux le faire en raison de réponses reçues: p> mais je ne veux pas faire quelque chose comme Ceci, car Y a-t-il des conseils? P> P> _timing code> n'est pas égal à
cible.split (':') [0] + ":" code> alors je vais le cultiver à
_timing code>. J'exécute ce
cible.split (':') [0] + ":" code> deux fois. J'ai besoin de l'éviter. P>
db.students.firstordfault (x => x.name == "joe") code> deux fois. Ces échantillons ne sont que quelques exemples. J'ai besoin d'éviter deux fois coder comme celles-ci. P>
écarté code> restera en mémoire. Je cherche un moyen de ne pas enregistrer ces données temporaires en mémoire. P>
3 Réponses :
Vous pouvez contenir l'instruction réutilisable dans une variable et la réutilisation où vous avez besoin de plus en plus bas dans votre commande de flux:
var student = GetStudentByName("Joe"); if (student != null) { // do something here with student }
Y a-t-il d'utiliser un code ligne? Par exemple, si la condition latérale droite est vraie, attribuez la sortie au côté gauche.
Vous n'avez pas besoin de vous inquiéter de cela: en.wikipedia.org/wiki/program_optimization
Supprimer le bloc si code> bloc.
var student = db.Students.FirstOrDefault(x => x.Name == "Joe");
if (student != null)
{
//
}
Supprimer le "If-Block" semble en effet la solution la plus élégante, compte tenu de l'OP veut que cela soit toujours. (commentant simplement cela avant que la règle-nazis vienne pour dire "SOLUTIONS DE CODE SEULEMENT DES SOLUTIONS NE ASSISTANT" ET DOWNVOTEZ Ceci.)
Selon votre exigence Je peux le faire en raison de réponses reçues: EM> P> var splitted= target.Split(':')[0] + ": ";
if (_Timing != splitted)
{
_Timing = splitted;
splitted = null;
GC.Collect(); // It this stage the 'splitted' is not longer remain in the memory.
}
Cette variable est toujours là, même si vous ne lui donnez pas un nom. Le processeur a besoin de mettre en œuvre le test IF () d'expression. Donc, pas de point que ce soit dans la fâcheuse de «rester en mémoire». Ça ne va pas BTW.