Parantez tercihleri (IDE0047 ve IDE0048)

Bu makalede, ve IDE0048ile ilgili iki kural IDE0047 açıklanmaktadır.

Özellik Değer
Kural Kimliği IDE0047
Başlık Gereksiz parantezleri kaldırma
Kategori Stil
Alt Kategori Dil kuralları (parantez tercihleri)
Geçerli diller C# ve Visual Basic
Tanıtılan sürüm Visual Studio 2017
Seçenekler 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
Özellik Değer
Kural Kimliği IDE0048
Başlık Netlik için parantez ekleme
Kategori Stil
Alt Kategori Dil kuralları (parantez tercihleri)
Geçerli diller C# ve Visual Basic
Tanıtılan sürüm Visual Studio 2017
Seçenekler 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

Genel Bakış

Bu bölümdeki stil kuralları aritmetik, ilişkisel ve diğer ikili işleçlerin önceliğini netleştirmek için parantez kullanımı da dahil olmak üzere parantez tercihlerini ilgilendiriyor.

Seçenekler

Bu kural, işleç türüne göre tercihleri belirtmek için ilişkili seçeneklere sahiptir:

Seçenekleri yapılandırma hakkında bilgi için bkz. Seçenek biçimi.

dotnet_style_parentheses_in_arithmetic_binary_operators

Özellik Değer Açıklama
Seçenek adı dotnet_style_parentheses_in_arithmetic_binary_operators
Seçenek değerleri always_for_clarity Aritmetik işleç önceliğini netleştirmek için parantezleri tercih edin
never_if_unnecessary Aritmetik işleç önceliği belirgin olduğunda parantez olmamasını tercih edin
Varsayılan seçenek değeri always_for_clarity

Aritmetik ikili işleçler şunlardır: , , , , , -, <<, ^>>&ve .|+%/*

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

Özellik Değer Açıklama
Seçenek adı dotnet_style_parentheses_in_relational_binary_operators
Seçenek değerleri always_for_clarity İlişkisel işleç önceliğini netleştirmek için parantezleri tercih edin
never_if_unnecessary İlişkisel işleç önceliği belirgin olduğunda parantez olmamasını tercih edin
Varsayılan seçenek değeri always_for_clarity

İlişkisel ikili işleçler şunlardır: >, <, <=, >=, is, as, ==ve !=.

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

Özellik Değer Açıklama
Seçenek adı dotnet_style_parentheses_in_other_binary_operators
Seçenek değerleri always_for_clarity Diğer ikili işleç önceliğini netleştirmek için parantezleri tercih edin
never_if_unnecessary Diğer ikili işleç önceliği belirgin olduğunda parantez olmamasını tercih edin
Varsayılan seçenek değeri always_for_clarity

Diğer ikili işleçler şunlardır: &&, ||ve ??.

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

Özellik Değer Açıklama
Seçenek adı dotnet_style_parentheses_in_other_operators
Seçenek değerleri always_for_clarity Diğer işleç önceliğini netleştirmek için parantezleri tercih edin
never_if_unnecessary Diğer işleç önceliği belirgin olduğunda parantez olmamasını tercih edin
Varsayılan seçenek değeri never_if_unnecessary

Bu seçenek aşağıdakiler dışındaki işleçler için geçerlidir:

*, /, %, +, -, <<, >>, &, ^, |>, <, <=, >=, 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

Uyarıyı gizleme

Yalnızca tek bir ihlali engellemek istiyorsanız, kuralı devre dışı bırakmak ve sonra yeniden etkinleştirmek için kaynak dosyanıza önişlemci yönergeleri ekleyin.

#pragma warning disable IDE0047 // Or IDE0048
// The code that's violating the rule is on this line.
#pragma warning restore IDE0047 // Or IDE0048

Bir dosya, klasör veya projenin kuralını devre dışı bırakmak için, yapılandırma dosyasındaki önem derecesini none olarak ayarlayın.

[*.{cs,vb}]
dotnet_diagnostic.IDE0047.severity = none
dotnet_diagnostic.IDE0048.severity = none

Tüm kod stili kurallarını devre dışı bırakmak için, kategorinin önem derecesini Stylenone yapılandırma dosyasında olarak ayarlayın.

[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-Style.severity = none

Daha fazla bilgi için bkz. Kod analizi uyarılarını gizleme.

Ayrıca bkz.