次の方法で共有


かっこの基本設定 (IDE0047 および IDE0048)

この記事では、IDE0047IDE0048の 2 つの関連ルールについて説明します。

財産 価値
ルール ID 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
財産 価値
ルール ID 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

概要

このセクションのスタイル ルールはかっこの優先順位に関するものであり、算術、関係、その他の 2 項演算子で優先順位を明確にするためのかっこの使用を含みます。

オプション

このルールには、演算子の種類に基づいて基本設定を指定するためのオプションが関連付けられています。

オプションの構成については、「オプション形式 を参照してください。

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

関係二項演算子は、><<=>=isas==、および !=です。

// 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_style_parentheses_in_other_operators

財産 価値 説明
オプション名 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

警告を抑制する

1 つの違反のみを抑制する場合は、ソース ファイルにプリプロセッサ ディレクティブを追加して無効にしてから、ルールを再度有効にします。

#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

詳細については、「コード分析の警告を抑制する方法」を参照してください。

関連項目