使用有效的 Uri 构造函数时出现错误

问题描述 投票:0回答:2

我是 C# 的新手并且正在努力理解这一点:我正在尝试使用 .NET 6.0 Uri 构造函数之一,即这个:

Uri(Uri baseUri, string? relativeUri);

我的代码是这样的:

string baseUrl = "https://example.com";
string? route = null;
Uri test = new Uri(baseUrl, route);

但是我得到这个错误:

'route' may be null here. 
Argument 2: cannot convert from string to bool
c# .net .net-core uri .net-6.0
2个回答
3
投票

Uri(Uri baseUri, string?relativeUri);

好吧,但你没有那样做。你通过了

(string, string?)
.

如果你想调用

(Uri, string?)
构造函数,这样做:

Uri baseUrl = new Uri("https://example.com");
string? route = null;
Uri test = new Uri(baseUrl, route);

您收到的错误消息来自编译器,它从您提供的重载中选择了最接近的重载,即

(string, bool)
。因为你的第二个参数不是
bool
,你会得到这个错误。


0
投票

你的第二个参数应该是 bool 而不是 string 在这里查看更多信息: 如何检查 uri 字符串是否有效

如果您得到答案,请标记为正确或已接受。

© www.soinside.com 2019 - 2024. All rights reserved.