Construyendo una cadena para la solicitud de publicación de la siguiente manera,
var itemsToAdd = sl.SelProds.ToList();
if (sl.SelProds.Count() != 0)
{
foreach (var item in itemsToAdd)
{
paramstr = paramstr + string.Format("productID={0}&", item.prodID.ToString());
}
}
después de obtener el resultado paramstr, necesito eliminar el último carácter &en él
¿Cómo eliminar el último carácter de una cadena usando C #?

&, debe asegurarse de que se escape correctamente, como, por ejemplo, la respuesta de @MarcGravell.Respuestas:
construirlo con en su
string.Joinlugar:string.Jointoma un separador ("&") y una matriz de cadenas (parameters), e inserta el separador entre cada elemento de la matriz.fuente
Personalmente, iría con la sugerencia de Rob, pero si desea eliminar uno (o más) caracteres finales específicos, puede usar
TrimEnd. P.ejfuente
Path.Combine, que comprende todos los separadores de ruta. Al menos, use elTrimque comienza y termina de una vez.fuente
Prueba esto:
fuente
Simplemente no lo agregaría en primer lugar:
fuente
fuente
Es mejor si usa
string.Join.fuente
.ToArray()en suJoindeclaración. +1 aunque. Me ayudó.public static string Join<T>(string separator, IEnumerable<T> values)es nueva en C # 4.0 :)Es una buena práctica usar a
StringBuilderal concatenar muchas cadenas y luego puede usar el método Eliminar para deshacerse del carácter final.fuente
paramBuilder.Length - 1para eliminar el último carácter.Esto funciona para eliminar un solo carácter del final de una cadena. Pero si lo uso para eliminar, digamos, 4 caracteres, esto no funciona:
Como alternativa, he utilizado este enfoque en su lugar:
fuente
result = source.Remove((source.Length - 4), 4);.Agregue un
StringBuilderextension method.luego usa:
fuente