我试图使用Scopes将一个函数的多个部分分开,但是它看不出像下面的代码所示的那样工作
private static void Method()
{
{
//Code execution stops here. Although the return is defined inside a scope.
return;
}
{
Console.WriteLine("Whowaaah");
}
}那我做错什么了?
发布于 2014-03-05 01:46:46
块(即大括号中的语句序列)影响在其中定义的变量的可见性,而不是影响程序流。你看到的是完全正常的行为。
也许你在寻找不同的方法?
发布于 2014-03-05 01:57:58
拥有许多方法是可以的,即使它们只包含一行代码。这将更容易维护,特别是因为听起来您希望有一个控制许多其他方法的方法。
对于您正在做的事情,有两种可能的解决方案:
如果你需要做多件事:
private static void Method()
{
if(ShouldDoSenseless1())
{
Senseless1();
}
if(ShouldDoSenseless2())
{
Senseless2();
}
if(ShouldDoSenseless3())
{
Senseless3();
}
// etc.
}或者,如果你只做了一个选择列表中的一件事:
private static void Method1()
{
var doWhatNow = WhatStepShouldBePerformed();
switch(doWhatNow)
{
case 1:
DoSenseless1:
break;
case 2:
DoSenseless1:
break;
case 3:
DoSenseless1:
break;
break;
// etc.
}
}https://stackoverflow.com/questions/22186854
复制相似问题