Строим строку для почтового запроса следующим образом:
var itemsToAdd = sl.SelProds.ToList();
if (sl.SelProds.Count() != 0)
{
foreach (var item in itemsToAdd)
{
paramstr = paramstr + string.Format("productID={0}&", item.prodID.ToString());
}
}
после того, как я получу результат paramstr
, мне нужно удалить последний символ &
в нем
Как удалить последний символ в строке с помощью C #?
&
вам нужно убедиться, что он правильно экранирован, как, например, ответ @MarcGravell.Ответы:
string.Join
вместо этого создайте его :string.Join
принимает разделитель ("&"
) и массив строк (parameters
) и вставляет разделитель между каждым элементом массива.источник
Лично я бы согласился с предложением Роба, но если вы хотите удалить один (или несколько) конкретных завершающих символов, вы можете использовать
TrimEnd
. Напримеристочник
Path.Combine
, который понимает все разделители путей. По крайней мере, используйте то,Trim
что начинается и заканчивается за один раз.источник
Попробуй это:
источник
Я бы просто не стал добавлять это в первую очередь:
источник
источник
Лучше, если воспользуетесь
string.Join
.источник
.ToArray()
в своемJoin
заявлении. +1 хотя. Помог мне.public static string Join<T>(string separator, IEnumerable<T> values)
она новая в C # 4.0 :)StringBuilder
При объединении большого количества строк рекомендуется использовать a, а затем вы можете использовать метод Remove, чтобы избавиться от последнего символа.источник
paramBuilder.Length - 1
для удаления последнего символа.Это действительно помогает удалить один символ из конца строки. Но если я использую его, чтобы удалить, скажем, 4 символа, это не сработает:
В качестве альтернативы я использовал этот подход:
источник
result = source.Remove((source.Length - 4), 4);
.Добавьте
StringBuilder
extension method
.затем используйте:
источник