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 *

Foi útil?

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:

  1. Você tem apenas literal uma corda para traduzir
  2. 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.

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