Inline variable declaration (IDE0018)

Property Value
Rule ID IDE0018
Title Inline variable declaration
Category Style
Subcategory Language rules (expression-level preferences)
Applicable languages C#
Options csharp_style_inlined_variable_declaration


This style rule concerns whether out variables are declared inline or not. Starting in C# 7, you can declare an out variable in the argument list of a method call, rather than in a separate variable declaration.


The associated option for this rule specifies whether you prefer out variables to be declared inline or separately.

For more information about configuring options, see Option format.


Property Value Description
Option name csharp_style_inlined_variable_declaration
Option values true Prefer out variables to be declared inline in the argument list of a method call when possible
false Prefer out variables to be declared before the method call
Default option value true
// csharp_style_inlined_variable_declaration = true
if (int.TryParse(value, out int i)) {...}

// csharp_style_inlined_variable_declaration = false
int i;
if (int.TryParse(value, out i)) {...}

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

To disable the rule for a file, folder, or project, set its severity to none in the configuration file.

dotnet_diagnostic.IDE0018.severity = none

To disable all of the code-style rules, set the severity for the category Style to none in the configuration file.

dotnet_analyzer_diagnostic.category-Style.severity = none

For more information, see How to suppress code analysis warnings.

See also