Compartilhar via


DA0010: função GetHashCode dispendiosa

Identificação da Regra

DA0010

Categoria

uso do .NET Framework

Analisando métodos

Preparação de exemplos

Memória de .NET

Message (Mensagem)

As funções de GetHashCode devem ser baixo e não atribuir nenhuma memória.Reduzir a complexidade da função de código de hash se possível.

Tipo de mensagem

Aviso

Causa

Chamadas para o método de GetHashCode de classificação são uma proporção significativa de dados de perfil ou o método aloca memória.

Descrição da Regra

O hash é uma técnica para localizar rapidamente um item específico em uma grande coleção.O como tabelas de hash pode ser muito grande e oferecem suporte a muito altas taxas de acesso, tabelas de hash deve ser muito eficiente.Uma implicação deste requisito é que os métodos de GetHashCode no.NET Framework não precisam alocar memória.Alocar memória aumenta a carga do coletor de lixo e expõe o método a atrasos em potencial se torna necessário executar a coleta de lixo no resultado da solicitação de alocação.

Como Corrigir Violações

Reduzir a complexidade do método.