String.Format ou não? [duplicado]
-
20-08-2019 - |
Pergunta
Duplicar: :? Formato ou concat em C #
Especialmente em # mundo C usando String.Format para tudo é muito comum, normalmente como desenvolvedor VB.NET a menos que eu tenho que * eu não String.Format,
Eu prefiro concatenação normal, tais como:
V1 = V2 & "test-x" & V3 & "-;"
para mim é melhor do que este:
V1 = String.Format("{0} test-x {1} -;", V2, V3)
Estou faltando alguma coisa? Ou isso é apenas uma preferência pessoal?
razões para usar String.Format (a partir das respostas) ( eu vou tentar manter este atualizado )
- A localização é muito mais fácil se você usar Format String
- Obviamente, é mais fácil para alterar o formato de entrada
- É mais legível ( no entanto, este é pessoal )
- Melhor desempenho
** Às vezes eu preciso mudar o estilo ou substituindo o material de forma dinâmica, então eu usar String.Format *
Solução
Se você está indo cada vez para localizar o seu aplicativo (e muitas vezes é difícil de descartar essa possibilidade no início), então String.Format deve ser muito preferido, por duas razões:
- Você tem apenas literal uma corda para traduzir
- Você pode alterar a ordem dos valores, o que pode fazer mais sentido em outro idioma.
Outras dicas
Todo mundo já postou sobre como string.format legível é (o que eu aceito, e tem ref nulo e benefícios de internacionalização sim) mas ninguém mencionou que consideravelmente mais lento do que simples concatenação (número pequeno, de de elementos) ou usando StringBuilder (grande número de concats).
Se o desempenho é importante ou que você está fazendo um grande número de operações (por isso o desempenho em breve irá importa), então você deve evitar formato.
Edit: Referências como solicitado;)
http://msmvps.com/blogs /jon_skeet/archive/2008/10/06/formatting-strings.aspx
http: // blog. briandicroce.com/2008/02/04/stringbuilder-vs-string-performance-in-net/
artigo agradável aqui por Karl Seguin: código melhor - uso string.format explicar alguns dos benefícios.
O primeiro método é muito difícil de ler e ainda mais de um furo para digitar. , Bem como, uma vez que você começar a fazer um monte dessas concatenations, existem considerações de desempenho para pensar.
Se você está realmente formatar valores ({0: d} etc.)., String.Format é muito melhor para ler do que concatenação
Para mim, depende do conteúdo. Concatenar cadeias cria objetos string adicionais (porque strings são imutáveis ??em .NET ), mas principalmente é uma questão readbility.
Às vezes fica complicado quando você deseja personagens lugar de nova linha em uma string, caso em que eu tendem a usar algo como:
StringBuilder.AppendLine(string.Format("Some text {0}.", "here"));
Pessoalmente acho que String.Format é mais fácil de ler, a seqüência é apresentado como um texto consecutivo. Depende apesar de quantos parâmetros existem, se você precisa caçar para o parâmetro certo para compreendê-lo, então ...
Eu acredito que é mais uma questão de preferência. No entanto, uma vez que comecei a usá-lo regularmente maior parte da minha equipe seguiu o exemplo. Quando discutimos isso foi acordado que é apenas mais fácil de entender e ler.