Sdílet prostřednictvím


Použijte porovnávání vzorů, abyste se vyhnuli použití 'as' následovaného kontrolou null (IDE0019).

Vlastnost Hodnota
ID pravidla IDE0019
název Použijte porovnávání vzorů, abyste se vyhnuli kontroly null, která následuje po as.
kategorie Styl
podkategorie Jazyková pravidla (předvolby porovnávání vzorů)
příslušné jazyky C#
Možnosti csharp_style_pattern_matching_over_as_with_null_check

Přehled

Toto pravidlo stylu se týká použití vzorů jazyka C# odpovídajících u výrazu as následovaného kontrolou null. Toto pravidlo je podobné IDE0260, který označuje použití výrazu as následovaného členem, který je čten prostřednictvím podmíněného operátoru s hodnotou null.

Možnosti

Přidružená možnost pro toto pravidlo určuje, jestli se má preferovat porovnávání vzorů, nebo výraz as s kontrolami null, které určují, jestli je něco konkrétního typu.

Další informace o konfiguraci možností naleznete v tématu Formát možnosti.

csharp_styl_odpovídání_vzoru_místo_jako_se_kontrolou_nulové_hodnoty

Tato možnost také konfiguruje pravidlo IDE0260.

Vlastnost Hodnota Popis
název možnosti csharp_styl_vzoru_shod_vo_rozlišení_s_null_kontrolou (csharp_style_pattern_matching_over_as_with_null_check)
hodnoty možností true Upřednostněte porovnávání vzorů, abyste zjistili, jestli je něco určitého typu.
false Preferujte výrazy as s kontrolami null, abyste zjistili, jestli je něco určitého typu.
výchozí hodnota možnosti true
// csharp_style_pattern_matching_over_as_with_null_check = true
if (o is string s) {...}

// csharp_style_pattern_matching_over_as_with_null_check = false
var s = o as string;
if (s != null) {...}

Potlačte upozornění

Pokud chcete potlačit pouze jedno porušení, přidejte do zdrojového souboru direktivy preprocesoru, abyste pravidlo zakázali a znovu povolili.

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

Chcete-li pravidlo pro soubor, složku nebo projekt zakázat, nastavte jeho závažnost na none v konfiguračním souboru .

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

Chcete-li zakázat všechna pravidla stylu kódu, nastavte závažnost pro kategorii Style na none v konfiguračním souboru .

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

Další informace naleznete v tématu Jak potlačit upozornění analýzy kódu.

Viz také