UriBuilderExtended 1.2.1
dotnet add package UriBuilderExtended --version 1.2.1
NuGet\Install-Package UriBuilderExtended -Version 1.2.1
<PackageReference Include="UriBuilderExtended" Version="1.2.1" />
paket add UriBuilderExtended --version 1.2.1
#r "nuget: UriBuilderExtended, 1.2.1"
// Install UriBuilderExtended as a Cake Addin #addin nuget:?package=UriBuilderExtended&version=1.2.1 // Install UriBuilderExtended as a Cake Tool #tool nuget:?package=UriBuilderExtended&version=1.2.1
UriBuilderExtended
扩展 .NET 的 System.UriBuilder
。
需要维护者!
- 您愿意维护 UriBuilderExtended 吗?
- 或者将其包含在您自己的库项目中,如果适用?
- 您是微软员工,并希望将此代码放入 UriBuilder 中吗?
如果您对以上任何一个问题的答案为“是”,那么非常欢迎!我已经转变了方向,不再使用 C# 和 .NET。因此,我希望将此项目转交给能够使代码保持活力的人。
简介
从 .NET 的 System.UriBuilder
中缺少的是修改查询字符串的好方法。这就是我寻找其他解决方案的原因,并最终启动了这个项目。
其他好的解决方案可能覆盖了您的需求,但我找不到一个能完全满足我的要求的解决方案。
- 执行所有
UriBuilder
操作 - 设置支持多个值的查询字符串
- 尽可能简单
这个项目是在从 URI.js 获得很大启发的背景下构建的,它是一个在 JavaScript 中修改 URI 的非常好的库。
文档
从 NuGet 安装 包
将 using UriBuilderExtended;
添加到您的源文件中,您将能在您的 UriBuilder
对象上使用以下方法
bool HasQuery(string key)
检查是否存在具有给定键的查询
bool HasQuery(string key, params string[] values)
检查是否存在具有给定键和值的查询
UriBuilder RemoveQuery(string key)
移除任何具有给定键的查询
UriBuilder SetQuery(string key, params string[] values)
为给定的键设置查询参数
UriBuilder AddQuery(string key, params string[] values)
为给定的键添加查询参数
List
为给定键获取所有值
示例
UriBuilder builder = new UriBuilder("http://www.mysite.net/");
// URL is now http://www.mysite.net/
// URL string is obtained from builder.Uri.ToString(), not builder.ToString()
// as it sometimes renders differently to what you'd expect
builder.AddQuery("myKey", "myValue1");
// URL is now http://www.mysite.net/?myKey=myValue1
builder.AddQuery("myOtherKey", "myOtherValue1");
// URL is now http://www.mysite.net/?myKey=myValue1&myOtherKey=myOtherValue1
builder.AddQuery("myKey", "myValue2", "myValue3");
// URL is now http://www.mysite.net/?myKey=myValue1&myKey=myValue2&myKey=myValue3&myOtherKey=myOtherValue1
builder.SetQuery("myKey", "newValue1", "newValue2");
// URL is now http://www.mysite.net/?myOtherKey=myOtherValue1&myKey=newValue1&myKey=newValue2
builder.HasQuery("myKey");
builder.HasQuery("myOtherKey");
// true
builder.HasQuery("myKey", "myValue1");
// false
builder.HasQuery("myKey", "newValue1");
// true
builder.HasQuery("notMymyKey");
// false
builder.GetQueryValues("myKey");
// An ICollection containing values "newValue1" and "newValue2"
产品 | 版本 兼容的和额外的计算目标框架版本。 |
---|---|
.NET 框架 | net45 兼容。 net451 已计算。 net452 已计算。 net46 已计算。 net461 已计算。 net462 已计算。 net463 已计算。 net47 已计算。 net471 已计算。 net472 已计算。 net48 已计算。 net481 已计算。 |
此包没有任何依赖项。
NuGet 包
此包没有被任何 NuGet 包使用。
GitHub 仓库
此包没有被任何流行的 GitHub 仓库使用。
1.2.1
添加 GetQueryKeys 方法。
1.2.0
添加 GetQueryValues 方法。
1.1.0
首次稳定版发布。更改版本方案。