英語で読む

次の方法で共有


不要な式の値を削除する (IDE0058)

財産 価値
ルール ID IDE0058
タイトル 不要な式の値を削除する
カテゴリ スタイル
サブカテゴリー 言語規則 (式レベル基本設定)
該当する言語 C# と Visual Basic
オプション csharp_style_unused_value_expression_statement_preference
visual_basic_style_unused_value_expression_statement_preference

概要

この規則は、未使用の式の値にフラグを設定します。 例えば:

C#
void M()
{
  Compute(); // IDE0058: computed value is never used.
}

int Compute();

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

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

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

    C#
    _ = Compute();
    

オプション

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

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

csharp_style_unused_value_expression_statement_preference

財産 価値 説明
オプション名 csharp_style_unused_value_expression_statement_preference
該当する言語 C#
オプション値 discard_variable 未使用の式を破棄に割り当てます
unused_local_variable 使用されていないローカル変数に未使用の式を割り当てる
既定のオプション値 discard_variable
C#
// Original code:
System.Convert.ToInt32("35");

// After code fix for IDE0058:

// csharp_style_unused_value_expression_statement_preference = discard_variable
_ = System.Convert.ToInt32("35");

// csharp_style_unused_value_expression_statement_preference = unused_local_variable
var unused = Convert.ToInt32("35");

visual_basic_style_unused_value_expression_statement_preference

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

警告を抑制する

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

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

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

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

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

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

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

関連項目