我是 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
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
,你会得到这个错误。
你的第二个参数应该是 bool 而不是 string 在这里查看更多信息: 如何检查 uri 字符串是否有效
如果您得到答案,请标记为正确或已接受。