Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье описаны два связанных правила, IDE0047 и IDE0048.
| Свойство | Ценность |
|---|---|
| идентификатор правила | IDE0047 |
| Заголовок | Удаление ненужных круглых скобок |
| категория | Стиль |
| Подкатегория | Языковые правила (предпочтения круглых скобок) |
| применимые языки | C# и Visual Basic |
| появилась версия | Visual Studio 2017 |
| параметры | dotnet_style_parentheses_in_arithmetic_binary_operators |
dotnet_style_parentheses_in_relational_binary_operators |
|
dotnet_style_parentheses_in_other_binary_operators |
|
dotnet_style_parentheses_in_other_operators |
| Свойство | Ценность |
|---|---|
| идентификатор правила | IDE0048 |
| Заголовок | Добавление круглых скобок для ясности |
| категория | Стиль |
| подкатегория | Языковые правила (предпочтения круглых скобок) |
| применимые языки | C# и Visual Basic |
| появилась версия | Visual Studio 2017 |
| параметры | dotnet_style_parentheses_in_arithmetic_binary_operators |
dotnet_style_parentheses_in_relational_binary_operators |
|
dotnet_style_parentheses_in_other_binary_operators |
|
dotnet_style_parentheses_in_other_operators |
Обзор
Правила стиля в этом разделе касаются параметров круглых скобок, включая использование круглых скобок для уточнения приоритета для арифметических, реляционных и других двоичных операторов.
Параметры
Это правило имеет ассоциированные параметры для указания предпочтений на основе типа оператора.
- Арифметические двоичные операторы — dotnet_style_parentheses_in_arithmetic_binary_operators
- Реляционные двоичные операторы — dotnet_style_parentheses_in_relational_binary_operators
- Другие двоичные операторы — dotnet_style_parentheses_in_other_binary_operators
- Другие операторы — dotnet_style_parentheses_in_other_operators
Сведения о настройке параметров см. в разделе формат параметров.
dotnet_style_parentheses_in_arithmetic_binary_operators
| Свойство | Ценность | Описание |
|---|---|---|
| имя параметра | dotnet_style_parentheses_in_arithmetic_binary_operators | |
| значения опций | always_for_clarity |
Предпочитать скобки для уточнения приоритета арифметических операторов |
never_if_unnecessary |
Предпочитайте отсутствие скобок, если приоритет арифметического оператора очевиден | |
| значение параметра по умолчанию | always_for_clarity |
Арифметические двоичные операторы: *, /, %, +, -, <<, >>, &, ^и |.
// dotnet_style_parentheses_in_arithmetic_binary_operators = always_for_clarity
var v = a + (b * c);
// dotnet_style_parentheses_in_arithmetic_binary_operators = never_if_unnecessary
var v = a + b * c;
' dotnet_style_parentheses_in_arithmetic_binary_operators = always_for_clarity
Dim v = a + (b * c)
' dotnet_style_parentheses_in_arithmetic_binary_operators = never_if_unnecessary
Dim v = a + b * c
dotnet_style_parentheses_in_relational_binary_operators
| Свойство | Ценность | Описание |
|---|---|---|
| имя параметра | dotnet_style_parentheses_in_relational_binary_operators | |
| значения опции | always_for_clarity |
Предпочитать скобки для уточнения приоритета реляционных операторов |
never_if_unnecessary |
Предпочитать не иметь круглые скобки, когда приоритет реляционных операторов очевиден | |
| значение параметра по умолчанию | always_for_clarity |
Реляционные двоичные операторы: >, <, <=, >=, is, as, ==и !=.
// dotnet_style_parentheses_in_relational_binary_operators = always_for_clarity
var v = (a < b) == (c > d);
// dotnet_style_parentheses_in_relational_binary_operators = never_if_unnecessary
var v = a < b == c > d;
' dotnet_style_parentheses_in_relational_binary_operators = always_for_clarity
Dim v = (a < b) = (c > d)
' dotnet_style_parentheses_in_relational_binary_operators = never_if_unnecessary
Dim v = a < b = c > d
dotnet_style_parentheses_in_other_binary_operators
| Свойство | Ценность | Описание |
|---|---|---|
| имя параметра | dotnet_style_parentheses_in_other_binary_operators | |
| значения опций | always_for_clarity |
Предпочитать скобки для уточнения приоритета других двоичных операторов |
never_if_unnecessary |
Предпочитать не иметь скобки, если приоритет другого двоичного оператора очевиден | |
| значение параметра по умолчанию | always_for_clarity |
Другие двоичные операторы: &&, ||и ??.
// dotnet_style_parentheses_in_other_binary_operators = always_for_clarity
var v = a || (b && c);
// dotnet_style_parentheses_in_other_binary_operators = never_if_unnecessary
var v = a || b && c;
' dotnet_style_parentheses_in_other_binary_operators = always_for_clarity
Dim v = a OrElse (b AndAlso c)
' dotnet_style_parentheses_in_other_binary_operators = never_if_unnecessary
Dim v = a OrElse b AndAlso c
стиль_скобок_dotnet_в_прочих_операторах
| Свойство | Ценность | Описание |
|---|---|---|
| название опции | dotnet_style_parentheses_in_other_operators | |
| значения опции | always_for_clarity |
Предпочитать круглые скобки для уточнения приоритета других операторов |
never_if_unnecessary |
Предпочитать не иметь круглые скобки, если приоритет других операторов очевиден | |
| значение параметра по умолчанию | never_if_unnecessary |
Этот параметр применяется к операторам , кроме следующих:
*, /, %, +, -, <<, >>, &, ^, |>, <, <=, >=, is, as, ==, !=&&, ||, ??
// dotnet_style_parentheses_in_other_operators = always_for_clarity
var v = (a.b).Length;
// dotnet_style_parentheses_in_other_operators = never_if_unnecessary
var v = a.b.Length;
' dotnet_style_parentheses_in_other_operators = always_for_clarity
Dim v = (a.b).Length
' dotnet_style_parentheses_in_other_operators = never_if_unnecessary
Dim v = a.b.Length
Подавление предупреждения
Если вы хотите отключить только одно нарушение, добавьте директивы препроцессора в исходный файл, чтобы отключить и повторно включить правило.
#pragma warning disable IDE0047 // Or IDE0048
// The code that's violating the rule is on this line.
#pragma warning restore IDE0047 // Or IDE0048
Чтобы отключить правило для файла, папки или проекта, задайте его серьезность none в файле конфигурации .
[*.{cs,vb}]
dotnet_diagnostic.IDE0047.severity = none
dotnet_diagnostic.IDE0048.severity = none
Чтобы отключить все правила стиля кода, задайте уровень серьезности для категории Style, чтобы none в файле конфигурации .
[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-Style.severity = none
Дополнительные сведения см. в статье Подавление предупреждений анализа кода.
См. также
- Правила стиля кода
- Справочник по правилам стиля программирования