From 773f6d6b7abdc535df40b2559226b98edf2fb933 Mon Sep 17 00:00:00 2001 From: Elivo Date: Wed, 23 Apr 2025 08:54:51 +0800 Subject: [PATCH] =?UTF-8?q?HttpHeaders=EF=BC=9A=E5=A2=9E=E5=8A=A0=20Sort?= =?UTF-8?q?=20=E6=96=B9=E6=B3=95=E5=92=8C=20ToStringPairs=20=E6=96=B9?= =?UTF-8?q?=E6=B3=95=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Apewer/Network/HttpHeaders.cs | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/Apewer/Network/HttpHeaders.cs b/Apewer/Network/HttpHeaders.cs index 1873486..358af04 100644 --- a/Apewer/Network/HttpHeaders.cs +++ b/Apewer/Network/HttpHeaders.cs @@ -328,12 +328,32 @@ namespace Apewer.Network return Add(name, value); } + /// 按名称排序。 + public void Sort() => _list.Sort(); + + /// 按指定的方式排序。 + public void Sort(IComparer comparer) => _list.Sort(comparer ?? throw new ArgumentNullException(nameof(comparer))); + + /// 按指定的方式排序。 + public void Sort(Comparison comparison) => _list.Sort(comparison ?? throw new ArgumentNullException(nameof(comparison))); + /// 每个元素组成为新数组。 public HttpHeader[] ToArray() => _list.ToArray(); + /// 生成 数组。 + public StringPairs ToStringParis() + { + var sp = new StringPairs(); + foreach (var item in _list) sp.Add(item.Name, item.Value); + return sp; + } + /// public override string ToString() => $"Count = {_list.Count}"; + /// + public static implicit operator StringPairs(HttpHeaders headers) => headers?.ToStringParis(); + #endregion #region Json