Eu quero fazer o seguinte em C # (vindo de um plano de fundo Python):
strVar = "stack"
mystr = "This is %soverflow" % (strVar)
Como substituo o token dentro da string pelo valor fora dela?
Eu quero fazer o seguinte em C # (vindo de um plano de fundo Python):
strVar = "stack"
mystr = "This is %soverflow" % (strVar)
Como substituo o token dentro da string pelo valor fora dela?
string mystr = string.Format("This is {0}overflow", strVar);
E você também pode usar parâmetros nomeados em vez de índices.
Isso foi adicionado a partir do C # 6.0 (Visual Studio 2015+).
Exemplo:
var planetName = "Bob";
var myName = "Ford";
var formattedStr = $"Hello planet {planetName}, my name is {myName}!";
// formattedStr should be "Hello planet Bob, my name is Ford!"
Este é o açúcar sintático para:
var formattedStr = String.Format("Hello planet {0}, my name is {1}!", planetName, myName);
Recursos adicionais:
$("This feature is {GetDescription(FEATURE_AMAZING))}");
Você pode usar
string.Format
para soltar valores em strings:Uma alternativa é usar o operador de concatenação C #:
Se você estiver fazendo muitas concatenações, use a
StringBuilder
classe que é mais eficiente:fonte
C # 6.0
fonte
Se você atualmente usa o Visual Studio 2015 com C # 6.0, tente o seguinte:
esse recurso é chamado de interpolação de string.
fonte
Não há operadora para isso. Você precisa usar
string.Format
.Infelizmente,
string.Format
é um método estático, então você não pode simplesmente escrever"This is {0}soverflow".Format(strVar)
. Algumas pessoas definiram um método de extensão, que permite essa sintaxe.fonte
Use
string.Format
:fonte
Você deveria estar usando
String.Format()
. A sintaxe é um pouco diferente; em vez disso, são usados marcadores numéricos.Exemplo:
Dê uma olhada em http://msdn.microsoft.com/en-us/library/system.string.format.aspx para mais detalhes.
fonte
Você tem 2 opções. Você pode usar String.Format ou pode usar o operador de concatenação.
OU
fonte
String.Format()
bastidores usa StringBuilder. StringBuilder é normalmente mais eficiente ao concatenar muitas strings, mas o operador de concatenação é perfeito para uma única vez.String.Format()
é útil quando a formatação precisa ser aplicada à saída, por exemplo, para adicionar preenchimento ou zeros à esquerda a valores numéricos. Portanto, o usoString.Format()
em um loop irá potencialmente instanciar muitos StringBuilders. Nessa situação, é melhor usar um único StringBuilder declarado fora do loop eAppendFormat()
dentro do loop.Há mais uma maneira de implementar marcadores de posição com string. Substitua, estranhamente ajuda em certas situações:
fonte
Você pode usar a seguinte maneira
O caractere especial $ identifica uma string literal como uma string interpolada. por exemplo
Uma string interpolada é uma string literal que pode conter expressões interpoladas. Quando uma string interpolada é resolvida em uma string de resultado, os itens com expressões interpoladas são substituídos pelas representações de string dos resultados da expressão.
Use String.Format se precisar inserir o valor de um objeto, variável ou expressão em outra string.Eg
fonte
Usar:
fonte
Você pode fazer isso com o Expansive: https://github.com/anderly/Expansive
fonte