Compartilhar via


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.