簡體   English   中英

如何減少這些if-conditionals的嵌套?

[英]How to reduce the nesting of these if-conditionals?

我有一個小問題:D我找不到正確的搜索詞,所以我寫了這個問題。 我怎么這么短? 我知道這個邏輯|| 但我怎么能在一行中添加超過1個? 感謝時間最好的問候約翰

    bool b = [self NSStringContains:convert contains:@"Input"];
    if (b ==true)
    {
           bool b = [self NSStringContains:convert contains:@"Output"]; 
           if (b ==true)
           {
                     bool b = [self NSStringContains:convert contains:@"statecheck"]; 
                     if (b ==true)
                     {
                     ....
                     }
           }
     }

在這種情況下,您似乎需要&&

if ([self NSStringContains:convert contains:@"Input"] &&
    [self NSStringContains:convert contains:@"Output"] &&
    [self NSStringContains:convert contains:@"statecheck"])
{
   ...
}

對於它的價值,給予bool b; if (b==true)總是多余的 - 只需使用if (b)

可能是這樣的:

bool hasInput = [self NSStringContains:convert contains:@"Input"];
bool hasOutput = [self NSStringContains:convert contains:@"Output"];
bool hasStatecheck = [self NSStringContains:convert contains:@"statecheck"];
if (hasInput && hasOutput && hasStatecheck)
{
}

你正在使用的是,“如果這個條件,那么檢查這個條件,這個條件”,等等。你可以把這些與邏輯AND放在一起,用&&表示。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM