Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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í