不要な値の代入を削除する (IDE0059)
プロパティ | 値 |
---|---|
ルール ID | IDE0059 |
Title | 不要な値の代入を削除する |
カテゴリ | スタイル |
Subcategory | 不要なコード規則 (式レベルの基本設定) |
該当言語 | 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();
[オプション]
このオプションでは、破棄または未使用のローカル変数のどちらを使用するかを指定します。
- C# - csharp_style_unused_value_assignment_preference
- Visual Basic - visual_basic_style_unused_value_assignment_preference
オプションの構成の詳細については、「オプションの書式」を参照してください。
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()
警告を抑制する
単一の違反だけを抑制する場合は、ソース ファイルにプリプロセッサ ディレクティブを追加して無効にしてから、規則を再度有効にします。
#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 |
Title | 値は使用されない |
カテゴリ | スタイル |
該当言語 | F# |
[オプション] | なし |
概要
この規則は、不要な値の代入にフラグを設定します。 たとえば、次のスニペットでは、answer
は使用されていません。
type T() =
let answer = 42
関連項目
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET