代入に条件式を使用する (IDE0045)

プロパティ
ルール ID IDE0045
Title 代入に条件式を使用する
カテゴリ スタイル
Subcategory 言語規則 (式レベル基本設定)
該当言語 C# および Visual Basic
導入されたバージョン Visual Studio 2017
[オプション] dotnet_style_prefer_conditional_expression_over_assignment

概要

このスタイル規則は、条件付きロジックを必要とする割り当てに対する三項条件式if-else ステートメントの使用に関するものです。

オプション

オプションでは、規則を適用する動作を指定します。 オプションの構成の詳細については、「オプションの書式」を参照してください。

dotnet_style_prefer_conditional_expression_over_assignment

プロパティ 説明
オプション名 dotnet_style_prefer_conditional_expression_over_assignment
オプションの値 true 三項条件を使用する割り当てを優先します
false if-else ステートメントを使用する割り当てを優先します
既定のオプションの値 true
// dotnet_style_prefer_conditional_expression_over_assignment = true
string s = expr ? "hello" : "world";

// dotnet_style_prefer_conditional_expression_over_assignment = false
string s;
if (expr)
{
    s = "hello";
}
else
{
    s = "world";
}
' dotnet_style_prefer_conditional_expression_over_assignment = true
Dim s As String = If(expr, "hello", "world")

' dotnet_style_prefer_conditional_expression_over_assignment = false
Dim s As String
If expr Then
    s = "hello"
Else
    s = "world"
End If

警告を抑制する

単一の違反だけを抑制する場合は、ソース ファイルにプリプロセッサ ディレクティブを追加して無効にしてから、規則を再度有効にします。

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

ファイル、フォルダー、またはプロジェクトのルールを無効にするには、構成ファイルでその重要度を none に設定します。

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

すべてのコード スタイル規則を無効にするには、構成ファイルでカテゴリ Style の重要度を none に設定します。

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

詳細については、「コード分析の警告を抑制する方法」を参照してください。

こちらもご覧ください