Use pattern matching to avoid 'as' followed by a 'null' check (IDE0019)
Property | Value |
---|---|
Rule ID | IDE0019 |
Title | Use pattern matching to avoid as followed by a null check |
Category | Style |
Subcategory | Language rules (pattern matching preferences) |
Applicable languages | C# |
Options | csharp_style_pattern_matching_over_as_with_null_check |
Overview
This style rule concerns the use of C# pattern matching over an as
expression followed by a null
check. This rule is similar to IDE0260, which flags the use of an as
expression followed by a member read through the null-conditional operator.
Options
The associated option for this rule specifies whether to prefer pattern match or an as
expression with null checks to determine if something is of a particular type.
For more information about configuring options, see Option format.
csharp_style_pattern_matching_over_as_with_null_check
This option also configures rule IDE0260.
Property | Value | Description |
---|---|---|
Option name | csharp_style_pattern_matching_over_as_with_null_check | |
Option values | true |
Prefer pattern matching to determine if something is of a particular type |
false |
Prefer as expressions with null checks to determine if something is of a particular type |
|
Default option value | 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) {...}
Suppress a warning
If you want to suppress only a single violation, add preprocessor directives to your source file to disable and then re-enable the rule.
#pragma warning disable IDE0019
// The code that's violating the rule is on this line.
#pragma warning restore IDE0019
To disable the rule for a file, folder, or project, set its severity to none
in the configuration file.
[*.{cs,vb}]
dotnet_diagnostic.IDE0019.severity = none
To disable all of the code-style rules, set the severity for the category Style
to none
in the configuration file.
[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-Style.severity = none
For more information, see How to suppress code analysis warnings.
See also
Σχόλια
https://aka.ms/ContentUserFeedback.
Σύντομα διαθέσιμα: Καθ' όλη τη διάρκεια του 2024 θα καταργήσουμε σταδιακά τα ζητήματα GitHub ως μηχανισμό ανάδρασης για το περιεχόμενο και θα το αντικαταστήσουμε με ένα νέο σύστημα ανάδρασης. Για περισσότερες πληροφορίες, ανατρέξτε στο θέμα:Υποβολή και προβολή σχολίων για