Erstellen einer Zeichenfolge für eine Post-Anfrage auf folgende Weise:
var itemsToAdd = sl.SelProds.ToList();
if (sl.SelProds.Count() != 0)
{
foreach (var item in itemsToAdd)
{
paramstr = paramstr + string.Format("productID={0}&", item.prodID.ToString());
}
}
nachdem ich bekomme resultierende paramstr
, ich brauche letztes Zeichen löschen &
drin
So löschen Sie das letzte Zeichen in a Zeichenfolge mit C #?
&
, müssen Sie sicherstellen, dass sie ordnungsgemäß maskiert wird, wie dies beispielsweise bei der Antwort von @MarcGravell der Fall ist.Antworten:
baue es
string.Join
stattdessen mit:string.Join
Nimmt einen Separator ("&"
) und ein Array von Strings (parameters
) und fügt den Separator zwischen die einzelnen Elemente des Arrays ein.quelle
Persönlich würde ich Robs Vorschlag folgen, aber wenn Sie ein (oder mehrere) bestimmte nachfolgende Zeichen entfernen möchten, können Sie diese verwenden
TrimEnd
. Z.Bquelle
Path.Combine
, die alle Pfadtrennzeichen versteht. Am wenigsten verwenden,Trim
was auf einmal beginnt und endet.quelle
Versuche dies:
quelle
Ich würde es einfach gar nicht erst hinzufügen:
quelle
quelle
Es ist besser, wenn Sie verwenden
string.Join
.quelle
.ToArray()
in IhrerJoin
Aussage. +1 obwohl. Half mir.public static string Join<T>(string separator, IEnumerable<T> values)
, es ist neu in C # 4.0 :)Es wird empfohlen, a zu verwenden,
StringBuilder
wenn viele Zeichenfolgen verkettet werden. Anschließend können Sie die Methode Remove verwenden, um das endgültige Zeichen zu entfernen.quelle
paramBuilder.Length - 1
das letzte Zeichen entfernen können .Dies funktioniert, um ein einzelnes Zeichen vom Ende einer Zeichenfolge zu entfernen. Aber wenn ich damit beispielsweise 4 Zeichen entferne, funktioniert das nicht:
Als Alternative habe ich stattdessen diesen Ansatz verwendet:
quelle
result = source.Remove((source.Length - 4), 4);
.Fügen Sie a hinzu
StringBuilder
extension method
.dann benutze:
quelle