Avatar ·

كيفية دمج أجزاء URL بشكل صحيح في C#؟ بديل Path.Combine لعناوين URL

مرحباً بالجميع! أنا مبتدئ في C# وواجهت مشكلة. أحتاج إلى تكوين عناوين URL برمجياً عن طريق دمج URL أساسي مع مسارات نسبية. في .NET هناك طريقة رائعة `Path.Combine` تعمل بشكل ممتاز مع مسارات الملفات، ولكن عندما أحاول استخدامها لعناوين URL، أحصل على نتائج غير صحيحة. إليك مثال على الكود الخاص بي: ```csharp string baseUrl = "https://example.com/api/"; string endpoint = "users/get"; string fullUrl = Path.Combine(baseUrl, endpoint); Console.WriteLine(fullUrl); ``` بدلاً من النتيجة المتوقعة `https://example.com/api/users/get` أحصل على `https://example.com/api\users\get`. شرطات مقلوبة بدلاً من الشرطات العادية! وإذا أزلت الشرطة النهائية في `baseUrl`، ستكون النتيجة `https://example.com/api\users\get` — أي أن جزءاً من المسار يُفقد أو يتم لصقه بشكل خاطئ. حاولت إضافة الشرطات يدوياً أو استخدام `String.Concat` — لكن هذا حل مؤقت وسهل ارتكاب الأخطاء. مثلاً، إذا كان `baseUrl` يحتوي بالفعل على شرطة، وأضفت شرطة أخرى، ستحصل على شرطة مزدوجة.