Membangun string untuk permintaan posting dengan cara berikut,
var itemsToAdd = sl.SelProds.ToList();
if (sl.SelProds.Count() != 0)
{
foreach (var item in itemsToAdd)
{
paramstr = paramstr + string.Format("productID={0}&", item.prodID.ToString());
}
}
setelah saya mendapatkan hasil paramstr
, saya perlu menghapus karakter terakhir &
di dalamnya
Bagaimana cara menghapus karakter terakhir dalam string menggunakan C #?
&
, Anda perlu memastikannya lolos dengan benar, seperti misalnya jawaban @MarcGravell.Jawaban:
bangun dengan
string.Join
:string.Join
mengambil seperator ("&"
) dan dan larik string (parameters
), dan menyisipkan pemisah antara setiap elemen larik.sumber
Secara pribadi saya akan mengikuti saran Rob, tetapi jika Anda ingin menghapus satu (atau lebih) karakter trailing tertentu yang dapat Anda gunakan
TrimEnd
. Misalnyasumber
Path.Combine
, yang memahami semua pemisah jalur. Paling tidak gunakanTrim
yang dimulai dan diakhiri dalam sekali jalan.sumber
Coba ini:
sumber
Saya tidak akan menambahkannya sejak awal:
sumber
sumber
Lebih baik jika Anda menggunakan
string.Join
.sumber
.ToArray()
dalamJoin
pernyataan Anda . +1 sekalipun. Membantuku.public static string Join<T>(string separator, IEnumerable<T> values)
ini baru di C # 4.0 :)Ini praktik yang baik untuk menggunakan a
StringBuilder
saat menggabungkan banyak string dan Anda kemudian dapat menggunakan metode Hapus untuk menyingkirkan karakter terakhir.sumber
paramBuilder.Length - 1
untuk menghapus karakter terakhir juga.Ini berfungsi untuk menghapus satu karakter dari ujung string. Tetapi jika saya menggunakannya untuk menghapus, katakanlah, 4 karakter, ini tidak berfungsi:
Sebagai alternatif, saya telah menggunakan pendekatan ini sebagai gantinya:
sumber
result = source.Remove((source.Length - 4), 4);
.Tambahkan
StringBuilder
extension method
.lalu gunakan:
sumber