我有一段代码,其中我有一个if块,当满足流进入它并且在那里有嵌套if和else,如果它不满足任何if块它应该进入else块但我面临的问题是它满足一个if块然后进入其他地方。这是在我的代码中创建冗余。 就像这样
if(condition = true)
{
if(condition1 == true)
{}
if(condition2 == true)
{}
else
{}
}
现在它满足条件1,然后执行if块操作也进入else。 请帮忙。代码在C#
中答案 0 :(得分:10)
你可能需要这样的东西(注意else if
条件2):
if(condition)
{
if(condition1)
{}
else if(condition2)
{}
else
{}
}
您可以在条件中跳过'== true'
。
答案 1 :(得分:5)
摆脱== true它会导致你在第一行犯的错误。另外,添加else语句。
if (condition)
{
if (condition1)
{ }
else if (condition2)
{ }
else
{ }
}
答案 2 :(得分:3)
正如RaYell所说,你需要额外的“if”块。以下是一个简短而完整的示例:
using System;
public class Test
{
static void Main()
{
bool condition = true;
bool condition1 = true;
bool condition2 = false;
if (condition)
{
if (condition1)
{
Console.WriteLine("condition1");
}
// Note the "else if" here.
else if (condition2) {
Console.WriteLine("condition2");
}
else
{
Console.WriteLine("neither");
}
}
}
}
这会打印“condition1”,但不会“”。
如果不是你想要的,请澄清你的问题。
答案 3 :(得分:2)
就像这样
if(condition == true) {
if(condition1 == true) {}
else if(condition2 == true) {}
else {}
}
答案 4 :(得分:2)
雅你可以使用 else 。也可以写 if(condition == true)就像(条件)一样
例如
int i=2;
int j=3;
int k=4;
bool condition=k>1;
bool condition1=j<i;
bool condition2=j>i;
if (condition)
{
if (condition1)
{ }
else if (condition2)
{ }
else
{ }
}
答案 5 :(得分:1)
那么,为什么不在方法中拆分代码,所以你可以这样做:
if( condition)
{
if( condition1 )
{
DoSomethingForSituation1();
}
else
{
DoSomethingForSituation2();
}
}
else
{
DoSomethingForSituation1();
}
另外,当我这样看时,你可以说'条件'是多余的吗? 因为无论哪种方式,条件1在某些情况下总是如此?
if( condition1 )
{
DoSomethingForSituation1();
}
else if( condition2 )
{
DoSomethingForSituation2();
}