Gostaria de converter uma matriz de string em uma única string.
string[] test = new string[2];
test[0] = "Hello ";
test[1] = "World!";
Eu gostaria de ter algo como "Olá, mundo!"
string[] test = new string[2];
test[0] = "Hello ";
test[1] = "World!";
string.Join("", test);
var separator = ", ";
string.Join(separator , test);
string.Join(string.Empty, test)
ao invés de usar umempty-paranthesis
.Uma opção um pouco mais rápida do que usar o uso já mencionado do
Join()
método é o método Concat () . Ele não requer um parâmetro delimitador vazio, comoJoin()
faz. Exemplo:portanto, é provavelmente mais rápido.
fonte
Concat
é melhor, no código interno deJoin
, anexará o separador após cada item. Mas,Concat
não tendo esses códigos, é mais simples e mais direto queJoin
. Esta é a resposta perfeita.Experimentar:
que deve retornar uma string que une os dois elementos.
""
indica que você deseja que as cadeias sejam unidas sem separadores.fonte
"Hello "
na pergunta já tinha um espaço à direita. Se o espaço ainda não estivesse lá, você estaria correto, e usar" "
como separador faria mais sentido.Uma string.Concat () simples é o que você precisa.
Se você também precisar adicionar um separador (espaço, vírgula etc.), use string.Join ().
Se você precisar fazer isso em uma matriz de strings com centenas de elementos do que string.Join () é melhor pelo ponto de vista da performance. Apenas dê um argumento "" (em branco) como separador. O StringBuilder também pode ser usado para garantir o desempenho, mas tornará o código um pouco mais longo.
fonte
Concat
eJoin
são mais rápidos que oStringBuilder
se você tiver 4 ou menos seqüências de caracteres para concatenar.Aggregate
também pode ser usado para o mesmo.fonte
String.Join
devido a várias seqüências extras construídas. Leia stackoverflow.com/questions/217805/… para obter a variante adequada deAggregate
.fonte
string.Join(" ", array)
(exceto o seu adiciona um espaço à direita). Por que não usar apenas o da biblioteca?Usei dessa maneira para tornar meu projeto mais rápido:
RichTextBox.Text converterá automaticamente sua matriz em uma seqüência de linhas múltiplas!
fonte
Na resposta aceita, String.Join não é uma prática recomendada por seu uso. String.Concat deveria ser usado, pois o OP incluía um espaço à direita no primeiro item: "Hello" (em vez de usar um delimitador nulo).
No entanto, como o OP solicitou o resultado "Hello World!", String.Join ainda é o método apropriado, mas o espaço em branco à direita deve ser movido para o delimitador.
fonte
Como isso:
Você também pode usar um loop:
fonte