Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
| Свойство | Ценность |
|---|---|
| идентификатор правила | IDE0070 |
| Заголовок | Используйте System.HashCode.Combine |
| категория | Стиль |
| подкатегории | Языковые правила (предпочтения уровня выражений) |
| применимые языки | C# и Visual Basic |
Обзор
Это правило рекомендует использовать метод System.HashCode.Combine для вычисления хэш-кода вместо использования пользовательской логики вычисления хэш-кода.
Параметры
Это правило не имеет связанных параметров стиля кода.
Пример
class B
{
public override int GetHashCode() => 0;
}
class C : B
{
int j;
// Code with violations
public override int GetHashCode()
{
// IDE0070: GetHashCode can be simplified.
var hashCode = 339610899;
hashCode = hashCode * -1521134295 + base.GetHashCode();
hashCode = hashCode * -1521134295 + j.GetHashCode();
return hashCode;
}
// Fixed code
public override int GetHashCode()
{
return System.HashCode.Combine(base.GetHashCode(), j);
}
}
Подавление предупреждения
Если вы хотите отключить только одно нарушение, добавьте директивы препроцессора в исходный файл, чтобы отключить и повторно включить правило.
#pragma warning disable IDE0070
// The code that's violating the rule is on this line.
#pragma warning restore IDE0070
Чтобы отключить правило для файла, папки или проекта, задайте его серьезность none в файле конфигурации .
[*.{cs,vb}]
dotnet_diagnostic.IDE0070.severity = none
Чтобы отключить все правила стиля кода, задайте уровень серьезности для категории Style, чтобы none в файле конфигурации .
[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-Style.severity = none
Дополнительные сведения см. в статье Подавление предупреждений анализа кода.
См. также
- Правила стиля языка программирования
- справочник по правилам стиля кода