Avatar ·

Comment bien concaténer des URL en C# ? Équivalent de Path.Combine pour les adresses web

Bonjour à tous ! Je suis débutant en C# et j'écris une petite application pour travailler avec une API. J'ai besoin de former dynamiquement des URL pour différents endpoints. Par exemple, j'ai une URL de base https://api.example.com/v1/ et je veux y ajouter un chemin comme /users/123 ou /products?page=2.

J'ai essayé d'utiliser Path.Combine, comme pour les chemins de fichiers classiques, mais cela donne des résultats étranges. Voici un exemple :

string baseUrl = "https://api.example.com/v1/";
string endpoint = "/users/123";
string result = Path.Combine(baseUrl, endpoint);
Console.WriteLine(result);
// Sortie : "https:\\api.example.com\\v1\\users\\123"
// Remarquez : les slashes sont inversés !

C'est complètement absurde ! Path.Combine utilise des antislashs, car il est conçu pour Windows. Si j'essaie simplement de concaténer les chaînes avec +, j'obtiens des problèmes de doubles slashes ou de leur absence.