Použijte porovnávání vzorů (IDE0078 a IDE0260)
Tento článek popisuje dvě související pravidla, IDE0078
a IDE0260
.
Majetek | Hodnota |
---|---|
Pravidlo ID | IDE0078 |
název | Použití porovnávání vzorů |
kategorie | Styl |
podkategorie | Jazyková pravidla (předvolby porovnávání vzorů) |
příslušné jazyky | C# 9.0+ |
Možnost | csharp_style_prefer_pattern_matching |
Vlastnost | Hodnota |
---|---|
ID pravidla | IDE0260 |
název | Použití porovnávání vzorů |
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 konstruktorům.
IDE0260 výslovně označí použití výrazu as
následovaného členem přečteným prostřednictvím nulového podmínkového operátoru. Toto pravidlo se podobá IDE0019, které označuje použití výrazu as
následovaného kontrolou null
.
Možnosti
Možnosti určují chování, které má pravidlo vynutit. Informace o konfiguraci možností naleznete v tématu Formát možnosti.
csharp_style_prefer_pattern_matching (IDE0078)
Vlastnost | Hodnota | Popis |
---|---|---|
název možnosti | csharp_style_prefer_pattern_matching | |
Hodnoty voleb | true |
Pokud je to možné, raději používejte konstruktory porovnávání vzorů. |
false |
Raději nepoužívejte konstrukce porovnávání vzorů. | |
výchozí hodnota možnosti | true |
csharp_style_použití_porovnávání_vzorů_namísto_as_s_kontrolou_na_null (IDE0260)
Tato možnost také konfiguruje pravidlo IDE0019.
Vlastnost | Hodnota | Popis |
---|---|---|
název možnosti | vzorové přiřazení nad použitím 'as' s kontrolou nulové hodnoty | |
hodnoty možností | true |
Upřednostňujte porovnávání vzorů před výrazem as s podmíněným přístupem členů s hodnotou null. |
false |
Zakáže pravidlo. | |
výchozí hodnota možnosti | true |
Příklady
IDE0078
// csharp_style_prefer_pattern_matching = true
var x = i is default(int) or > (default(int));
var y = o is not C c;
// csharp_style_prefer_pattern_matching = false
var x = i == default || i > default(int);
var y = !(o is C c);
IDE0260
// Code with violations.
object? o = null;
if ((o as string)?.Length == 0)
{
}
// Fixed code (csharp_style_pattern_matching_over_as_with_null_check = true).
object? o = null;
if (o is string { Length: 0 })
{
}
Potlačení 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 IDE0078 // or IDE0260
// The code that's violating the rule is on this line.
#pragma warning restore IDE0078 // or IDE0260
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.IDE0078.severity = none
dotnet_diagnostic.IDE0260.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é
- C# 9.0 porovnávání vzorů
- pravidla jazyka stylu kódu
- Pravidla stylu kódu referenční