كيفية دمج أجزاء 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` يحتوي بالفعل على شرطة، وأضفت شرطة أخرى، ستحصل على شرطة مزدوجة.