Atama için koşullu ifade kullanma (IDE0045)

Özellik Değer
Kural Kimliği IDE0045
Başlık Atama için koşullu ifade kullanma
Kategori Stil
Alt Kategori Dil kuralları (ifade düzeyi tercihleri)
Geçerli diller C# ve Visual Basic
Tanıtılan sürüm Visual Studio 2017
Seçenekler dotnet_style_prefer_conditional_expression_over_assignment

Genel Bakış

Bu stil kuralı, koşullu mantık gerektiren atamalar için bir if-else deyimi yerine üçüncül koşullu ifadenin kullanımını ilgilendiriyor.

Seçenekler

Seçenekler, kuralın zorlamasını istediğiniz davranışı belirtir. Seçenekleri yapılandırma hakkında bilgi için bkz. Seçenek biçimi.

dotnet_style_prefer_conditional_expression_over_assignment

Özellik Değer Açıklama
Seçenek adı dotnet_style_prefer_conditional_expression_over_assignment
Seçenek değerleri true Üçüncül koşullu atamaları tercih edin
false If-else deyimiyle atamaları tercih edin
Varsayılan seçenek değeri true
// dotnet_style_prefer_conditional_expression_over_assignment = true
string s = expr ? "hello" : "world";

// dotnet_style_prefer_conditional_expression_over_assignment = false
string s;
if (expr)
{
    s = "hello";
}
else
{
    s = "world";
}
' dotnet_style_prefer_conditional_expression_over_assignment = true
Dim s As String = If(expr, "hello", "world")

' dotnet_style_prefer_conditional_expression_over_assignment = false
Dim s As String
If expr Then
    s = "hello"
Else
    s = "world"
End If

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 IDE0045
// The code that's violating the rule is on this line.
#pragma warning restore IDE0045

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.IDE0045.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.