次の方法で共有


不要な値の割り当てを削除する (IDE0059)

財産 価値
ルール ID IDE0059
タイトル 不要な値の割り当てを削除する
カテゴリ スタイル
サブカテゴリ 不要なコード規則 (表現レベルの好み)
該当する言語 C# と Visual Basic
オプション csharp_style_unused_value_assignment_preference
visual_basic_style_unused_value_assignment_preference

概要

このルールは、不要な値の割り当てにフラグを設定します。 例えば:

// IDE0059: value written to 'v' is never
// read, so assignment to 'v' is unnecessary.
int v = Compute();
v = Compute2();

この違反を修正するには、次のいずれかのアクションを実行できます。

  • 代入の右側にある式に副作用がない場合は、式または代入ステートメント全体を削除します。 これにより、不要な計算を回避することでパフォーマンスが向上します。

    int v = Compute2();
    
  • 代入の右側の式に副作用がある場合は、代入の左側を、破棄変数 (C# のみ) または使用されていないローカル変数に置き換えます。 破棄は、未使用の値を破棄する意図を明示的に示すことで、コードのわかりやすさを向上させます。

    _ = Compute();
    int v = Compute2();
    

オプション

このオプションでは、破棄または未使用のローカル変数のどちらを使用するかを指定します。

オプションの構成については、「オプション形式 を参照してください。

csharp_style_unused_value_assignment_preference

財産 価値 説明
オプション名 csharp_style_unused_value_assignment_preference
該当する言語 C#
オプション値 discard_variable 使用されていない値を割り当てるときに、破棄を使用します
unused_local_variable 使用されていない値を割り当てるときにローカル変数を使用する
既定のオプション値 discard_variable
// csharp_style_unused_value_assignment_preference = discard_variable
int GetCount(Dictionary<string, int> wordCount, string searchWord)
{
    _ = wordCount.TryGetValue(searchWord, out var count);
    return count;
}

// csharp_style_unused_value_assignment_preference = unused_local_variable
int GetCount(Dictionary<string, int> wordCount, string searchWord)
{
    var unused = wordCount.TryGetValue(searchWord, out var count);
    return count;
}

visual_basic_style_unused_value_assignment_preference

財産 価値 説明
オプション名 visual_basic_style_unused_value_assignment_preference
該当する言語 Visual Basic
オプション値 unused_local_variable 使用されていない値を割り当てるときにローカル変数を使用する
既定のオプション値 unused_local_variable
' visual_basic_style_unused_value_assignment_preference = unused_local_variable
Dim unused = Computation()

警告を抑制する

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

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

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

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

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

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

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

財産 価値
ルール ID IDE0059
タイトル この値は使用されていません
カテゴリー スタイル
適用される言語 F#
オプション なし

概要

このルールは、不要な値の割り当てにフラグを設定します。 たとえば、次のスニペットでは、answer は使用されません。

type T() =
    let answer = 42

関連項目