Construire une chaîne pour la demande de publication de la manière suivante,
var itemsToAdd = sl.SelProds.ToList();
if (sl.SelProds.Count() != 0)
{
foreach (var item in itemsToAdd)
{
paramstr = paramstr + string.Format("productID={0}&", item.prodID.ToString());
}
}
après que je me obtenu paramstr
, je dois effacer le dernier caractère &
en elle
Comment supprimer le dernier caractère d'une chaîne en utilisant C #?
&
, vous devez vous assurer qu'il est correctement échappé, comme par exemple la réponse de @MarcGravell.Réponses:
construisez-le avec à la
string.Join
place:string.Join
prend un séparateur ("&"
) et un tableau de chaînes (parameters
), et insère le séparateur entre chaque élément du tableau.la source
Personnellement, j'irais avec la suggestion de Rob, mais si vous souhaitez supprimer un (ou plusieurs) caractère (s) de fin spécifique, vous pouvez utiliser
TrimEnd
. Par exemplela source
Path.Combine
, qui comprend tous les séparateurs de chemin. Utilisez le moins possibleTrim
qui commence et se termine en une seule fois.la source
Essaye ça:
la source
Je ne l'ajouterais tout simplement pas en premier lieu:
la source
la source
C'est mieux si vous utilisez
string.Join
.la source
.ToArray()
dans votreJoin
déclaration. +1 cependant. M'a aidé.public static string Join<T>(string separator, IEnumerable<T> values)
c'est nouveau en C # 4.0 :)Il est recommandé d'utiliser a
StringBuilder
lors de la concaténation de nombreuses chaînes et vous pouvez ensuite utiliser la méthode Remove pour vous débarrasser du caractère final.la source
paramBuilder.Length - 1
supprimer le dernier caractère.Cela fonctionne pour supprimer un seul caractère à la fin d'une chaîne. Mais si je l'utilise pour supprimer, disons, 4 caractères, cela ne fonctionne pas:
Comme alternative, j'ai utilisé cette approche à la place:
la source
result = source.Remove((source.Length - 4), 4);
.Ajoutez un
StringBuilder
extension method
.puis utilisez:
la source