Construindo uma string para post request da seguinte maneira,
var itemsToAdd = sl.SelProds.ToList();
if (sl.SelProds.Count() != 0)
{
foreach (var item in itemsToAdd)
{
paramstr = paramstr + string.Format("productID={0}&", item.prodID.ToString());
}
}
depois de obter o resultado paramstr
, preciso excluir o último caractere &
nele
Como excluir o último caractere em uma string usando c #?
&
, você precisa se certificar de que ele tenha um escape adequado, como, por exemplo, a resposta de @MarcGravell.Respostas:
construa com
string.Join
:string.Join
pega um separador ("&"
) ee array de strings (parameters
), e insere o separador entre cada elemento do array.fonte
Pessoalmente, eu aceitaria a sugestão de Rob, mas se você quiser remover um (ou mais) caractere (s) final (is) específico (s), você pode usar
TrimEnd
. Por exemplofonte
Path.Combine
, que entende todos os separadores de caminho. Pelo menos use oTrim
que começa e termina de uma vez.fonte
Experimente isto:
fonte
Eu simplesmente não o adicionaria em primeiro lugar:
fonte
fonte
É melhor se você usar
string.Join
.fonte
.ToArray()
em suaJoin
declaração. 1 embora. Me ajudou.public static string Join<T>(string separator, IEnumerable<T> values)
é novo em C # 4.0 :)É uma boa prática usar um
StringBuilder
ao concatenar muitas strings e você pode usar o método Remove para se livrar do caractere final.fonte
paramBuilder.Length - 1
para remover o último caractere.Isso funciona para remover um único caractere do final de uma string. Mas se eu usá-lo para remover, digamos, 4 caracteres, isso não funcionará:
Como alternativa, usei esta abordagem:
fonte
result = source.Remove((source.Length - 4), 4);
.Adicione um
StringBuilder
extension method
.então use:
fonte