【发布时间】:2021-03-29 12:32:14
【问题描述】:
我经常编写为局部变量赋值但不使用该值的代码。我这样做是因为检查调试器中的值很有用(没有它我不确定如何检查变量)。但是 C# 编译器对此给出了警告。建议的潜在修复不是我想要的,我想知道可能有哪些最佳实践来处理这个问题。我尝试使用丢弃('_'),但似乎无法检查调试器中的值。抑制警告似乎不是一个好主意,因为有时我确实需要清理代码。欢迎提出建议。
例子:
[Fact]
public void TestDuplicateValue()
{
string value = "A";
FieldValue fv1 = new FieldValue(value);
FieldValue fv2 = new FieldValue(value);
// Should not throw an exception
FieldValueCollection fvc = new FieldValueCollection(new FieldValue[] { fv1, fv2 });
}
【问题讨论】:
-
好吧,您必须使用变量或抑制警告。不能两者兼得。
-
当断点被击中时,您应该能够检查范围内的任何变量。
-
或者使用变量,在调试时,您可以突出显示一个表达式,例如方法调用,然后在上下文菜单中选择“QuickWatch...”以打开一个窗口,您可以在其中检查该表达式的结果。您还可以选择“添加观察”,这会在观察窗格/窗口中为表达式添加一个条目。
-
您在测试中没有做出任何断言。单元测试的重点是您不必检查值(通过调试)来查看它是否通过。
-
@insane_developer 离题,但该方法正在测试是否抛出异常。