这是我的代码:
if (RdoBtnBeepDefault.Checked) SystemSounds.Beep.Play();
else SoundPlayer iPlay = new SoundPlayer(@TxtBeepFile.Text);
iPlay.Play();
这是错误:
Embedded statement cannot be a declaration or labeled statement
如果这不可能,介意告诉我怎么做吗?
这是我的代码:
if (RdoBtnBeepDefault.Checked) SystemSounds.Beep.Play();
else SoundPlayer iPlay = new SoundPlayer(@TxtBeepFile.Text);
iPlay.Play();
这是错误:
Embedded statement cannot be a declaration or labeled statement
如果这不可能,介意告诉我怎么做吗?
iPlay.Play();
超出了您声明中的else
条款的范围。if-else
尝试用大括号将其括起来以获得多行范围。
if (RdoBtnBeepDefault.Checked)
{
SystemSounds.Beep.Play();
)
else
{
SoundPlayer iPlay = new SoundPlayer(TxtBeepFile.Text);
iPlay.Play();
)
不仅如此,即使这样也会产生同样的错误
if (RdoBtnBeepDefault.Checked) SystemSounds.Beep.Play();
else int i=0;
原因是逻辑。如果您在 if else 条件中放入单行语句,这间接意味着条件流以该行结束。在那种情况下,如果你使用一些声明||上面的东西不会以任何方式有意义/影响,那么这意味着它是一种字符串文字。这并不完全是错误的,而是不必要的。Mind c# Visual Studio Editor 减少了几乎所有可能的错误和不必要的内存加载。
当您放置大括号时,它表明您可以在同一块中使用该变量来执行某些逻辑。所以编辑器会允许你这样做。那时 VS 假设您将来可以添加代码。所以它只会给你关于那条线的警告。没有大括号,它坚定地假设您不会使用该变量(由于范围)。因此,它将其视为错误。