Skip to content
代码片段 群组 项目
未验证 提交 7b39058d 编辑于 作者: Pranav K's avatar Pranav K 提交者: GitHub
浏览文件

Avoids boxing in HashCodeCombiner (#35208)

上级 0286358c
No related branches found
No related tags found
无相关合并请求
......@@ -5,7 +5,7 @@ using System.Collections.Generic;
namespace Microsoft.AspNetCore.Razor.Language
{
internal class DefaultBoundAttributeDescriptor : BoundAttributeDescriptor
internal sealed class DefaultBoundAttributeDescriptor : BoundAttributeDescriptor
{
public DefaultBoundAttributeDescriptor(
string kind,
......@@ -44,4 +44,4 @@ namespace Microsoft.AspNetCore.Razor.Language
IsBooleanProperty = typeName == typeof(bool).FullName || typeName == "bool";
}
}
}
\ No newline at end of file
}
......@@ -25,25 +25,6 @@ namespace Microsoft.Extensions.Internal
_combinedHash64 = seed;
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void Add(IEnumerable e)
{
if (e == null)
{
Add(0);
}
else
{
var count = 0;
foreach (object? o in e)
{
Add(o);
count++;
}
Add(count);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static implicit operator int(HashCodeCombiner self)
{
......@@ -57,17 +38,9 @@ namespace Microsoft.Extensions.Internal
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void Add(string? s)
{
var hashCode = (s != null) ? s.GetHashCode() : 0;
Add(hashCode);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void Add(object? o)
public void Add<T>(T? o)
{
var hashCode = (o != null) ? o.GetHashCode() : 0;
Add(hashCode);
Add(o?.GetHashCode() ?? 0);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
......
0% 加载中 .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册