You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET Core 1中是否有Uri.UriSchemeHttps的等效实现?

在.NET Core 1中是否有Uri.UriSchemeHttps的等效项?

首先给你明确答案:.NET Core 1里是有Uri.UriSchemeHttps这个静态常量的,它和.NET Framework中的定义完全一致,就是字符串"https",你完全可以直接用它来和传入请求的Scheme做比较,没必要自己通过实例化Uri来获取。

关于Uri.Scheme的疑问:它并不是.NET Core新的实现方式,在.NET Framework里这个属性就已经存在了。Uri.Scheme是Uri实例的属性,作用是读取当前Uri对象对应的协议方案(比如http、https、ftp等);而Uri.UriSchemeHttps是静态常量,用来代表标准的https协议字符串——两者一个是读取实例的协议值,一个是作为标准参考值,用途是不一样的。

看你给出的示例代码:

Uri myUri = new Uri("https://localhost:5000/login/");
Console.WriteLine(myUri.Scheme);

这段代码运行后会输出https,这是完全正确的,Scheme属性就是干这个的——返回当前Uri的协议部分。

至于你自己写的这段替代代码:

var httpsScheme = new Uri("https://www.google.com/").Scheme;

虽然能得到"https"这个字符串,但其实完全没必要这么做,直接用Uri.UriSchemeHttps既简洁又高效,还不用额外实例化一个Uri对象,代码可读性也更强。

总结一下:

  • 直接用Uri.UriSchemeHttps就行,不需要自己实现替代方案
  • Uri.Scheme是一直存在的实例属性,不是.NET Core的新特性
  • 对比请求Scheme时,推荐使用Uri.UriSchemeHttps常量,代码更规范

内容的提问来源于stack exchange,提问作者user6728767

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 06:24:46