Pergunta

Estou me perguntando: qual é a melhor instrução em termos de desempenho entre essas 2 versões:

Background = Application.Current.Resources[condition ? BackgroundName1 : BackgroundName2] as Brush;

e:

Background = condition ? Application.Current.Resources[BackgroundName1] as Brush : Application.Current.Resources[BackgroundName2] as Brush;

Existe alguma diferença? E se sim, o que é melhor?

obrigado

NB: BackgroundName1 e 2 são simplesmente strings

Foi útil?

Solução

O primeiro é mais curto e mais legível.

Também é mais fácil de manter.
Se você alterar mais tarde para ler um dicionário de recursos diferentes, poderá esquecer de mudar a segunda metade do segundo.

O primeiro também está lendo mais claramente do mesmo dicionário.

Outras dicas

Primeiro: use um perfil para encontrar a coisa mais lenta. Se você está tendo um problema de desempenho, não faz sentido passar horas ou dias trabalhando para fazer algo mais rápido que já é rápido o suficiente.

Segundo: você pode determinar a resposta para sua pergunta, experimentando -a nos dois lados e medindo cuidadosamente para ver se há uma diferença. Não nos pergunte o que é mais rápido; Não sabemos porque não tentamos e não temos capacidade de experimentá -lo.

Não fique muito preso em micro otimizações! O ganho de desempenho que você receberá será nulo. Vá para o código mais legível e mais fácil de entender no final.

Sem diferença.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top