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.Join
lugar:string.Join
toma 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 elTrim
que 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 suJoin
declaració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
StringBuilder
al concatenar muchas cadenas y luego puede usar el método Eliminar para deshacerse del carácter final.fuente
paramBuilder.Length - 1
para 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
StringBuilder
extension method
.luego usa:
fuente