我发现有一些我认为无法访问且未被检测到的代码。编译器和Visual Studio均不发出警告。
考虑以下代码:
enum Foo { A, B, C }
class Bar { public Foo type; }
static class Program
{
private static void Main()
{
var bar = new Bar { type = Foo.A };
if (bar.type == Foo.B)
{
Console.WriteLine("lol");
}
}
}
显然,该程序不会打印出“大声笑”,因为if语句中的条件为false。我不明白为什么为什么不为无法访问的代码发出警告。我唯一的假设是,如果您在多线程程序中存在竞争条件,则有可能实现此目标。这样对吗?
万千封印
相关分类