Avatar ·

如何在 C# 中正确拼接 URL?Path.Combine 的 Web 地址替代方案

大家好!我是 C# 新手,正在编写一个用于 API 的小型应用程序。我需要动态构建不同端点的 URL 地址。例如,我有一个基础 URL https://api.example.com/v1/,我想添加像 /users/123 或 /products?page=2 这样的路径。

我尝试使用 Path.Combine,就像处理普通文件路径一样,但这导致了奇怪的结果。示例如下:

string baseUrl = "https://api.example.com/v1/";
string endpoint = "/users/123";
string result = Path.Combine(baseUrl, endpoint);
Console.WriteLine(result);
// 输出: "https:\\api.example.com\\v1\\users\\123"
// 注意:斜杠方向反了!

这完全不对!Path.Combine 使用反斜杠,因为它专为 Windows 设计。如果我尝试通过 + 直接拼接字符串,又会遇到双斜杠或缺少斜杠的问题。