移除不必要的表示式值 (IDE0058)
財產 | 價值 |
---|---|
規則標識碼 | IDE0058 |
標題 | 拿掉不必要的表達式值 |
類別 | 風格 |
子類別 | 語言規則(表達方式層級喜好設定) |
適用的語言 | C# 和 Visual Basic |
選項 | csharp_style_unused_value_expression_statement_preference |
visual_basic_style_unused_value_expression_statement_preference |
概述
此規則會標記未使用的表達式值。 例如:
void M()
{
Compute(); // IDE0058: computed value is never used.
}
int Compute();
您可以採取下列其中一個動作來修正此違規:
如果表達式沒有副作用,請移除整個語句。 這可藉由避免不必要的計算來改善效能。
如果表達式有副作用,請將指派的左邊取代為 捨棄(僅限 C#)或從未使用之局部變數。 這可藉由明確顯示捨棄未使用值的意圖來改善程式碼的明確性。
_ = Compute();
選項
這個選項會指定是否偏好使用捨棄或未使用的局部變數:
- C# - csharp_style_unused_value_expression_statement_preference
- Visual Basic - Visual Basic 樣式未使用的值_表達_語句偏好
如需設定選項的相關資訊,請參閱 選項格式。
未使用值的表達式語句偏好設置
財產 | 價值 | 描述 |
---|---|---|
選項名稱 | csharp_style_unused_value_expression_statement_preference | |
適用的語言 | C# | |
選項值 | discard_variable |
偏好將未用到的表達式指派給捨棄變數 |
unused_local_variable |
偏好將未使用的表示式指派給永遠不會使用的局部變數 | |
預設選項值 | discard_variable |
// 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 | |
選項值 | unused_local_variable |
偏好將未使用的表示式指派給永遠不會使用的局部變數 |
預設選項值 | unused_local_variable |
' visual_basic_style_unused_value_expression_statement_preference = unused_local_variable
Dim unused = Computation()
隱藏警告
如果您想要只隱藏單一違規,請將預處理器指示詞新增至原始程式檔以停用,然後重新啟用規則。
#pragma warning disable IDE0058
// The code that's violating the rule is on this line.
#pragma warning restore IDE0058
若要停用檔案、資料夾或項目的規則,請將其嚴重性設定為 組態檔中的 none
。
[*.{cs,vb}]
dotnet_diagnostic.IDE0058.severity = none
若要停用所有程式碼樣式規則,請將類別 Style
的嚴重性設定為 組態檔中的 none
。
[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-Style.severity = none
如需詳細資訊,請參閱 如何在隱藏程式代碼分析警告。