Skip to content

Commit 977e576

Browse files
Avoid StringSegment conversions
Avoid 1 or 2 implicit conversions to `StringSegment` from `string` per invocation of `StringWithQualityHeaderValueComparer.Compare()` by re-using a static field.
1 parent 02c0cd6 commit 977e576

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

src/Http/Headers/src/StringWithQualityHeaderValueComparer.cs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ namespace Microsoft.Net.Http.Headers;
1414
/// </summary>
1515
public class StringWithQualityHeaderValueComparer : IComparer<StringWithQualityHeaderValue>
1616
{
17+
private static readonly StringSegment Any = new("*");
18+
1719
private StringWithQualityHeaderValueComparer()
1820
{
1921
}
@@ -55,11 +57,11 @@ public int Compare(
5557

5658
if (!StringSegment.Equals(stringWithQuality1.Value, stringWithQuality2.Value, StringComparison.OrdinalIgnoreCase))
5759
{
58-
if (StringSegment.Equals(stringWithQuality1.Value, "*", StringComparison.Ordinal))
60+
if (StringSegment.Equals(stringWithQuality1.Value, Any, StringComparison.Ordinal))
5961
{
6062
return -1;
6163
}
62-
else if (StringSegment.Equals(stringWithQuality2.Value, "*", StringComparison.Ordinal))
64+
else if (StringSegment.Equals(stringWithQuality2.Value, Any, StringComparison.Ordinal))
6365
{
6466
return 1;
6567
}

0 commit comments

Comments
 (0)