DA0010: GetHashCode cara
Identificação da regra |
DA0010 |
<strong>Categoria</strong> |
.NET Framework uso |
Métodos de criação de perfil |
Amostragem .NET memória |
Message (Mensagem) |
GetHashCode funções devem ser barata e não alocar qualquer memória.Reduza a complexidade da função de código hash, se possível. |
Tipo de mensagem |
Aviso |
Causa
Chamadas ao método GetHashCode do tipo são uma parte significativa dos dados de criação de perfil ou o método aloca memória.
Descrição da regra
Hash é uma técnica para localizar rapidamente um item específico em uma coleção grande.Como tabelas de hash podem ser muito grande e precisa oferecer suporte a taxas muito altas de acesso, tabelas de hash devem ser extremamente eficientes.Uma implicação esse requisito é que GetHashCode métodos na.NET Framework não deve alocar memória.Alocação de memória aumenta a carga no coletor de lixo e expõe o método para possíveis atrasos se ele se tornar necessário executar coleta de lixo, como resultado da solicitação de alocação.
Como corrigir violações
Reduza a complexidade do método.