2017-03-25 19 views
0

我對C#語言相當陌生,並且在不久前編寫代碼時想知道一些事情。當我編寫while循環時,我也會發現自己是否明確需要檢查是否需要我的while條件,例如下面的代碼。我是否需要在while循環之前顯式運行if語句?

while (_myList.Count > 0) 
{ 
    // do some work 
} 

如果以前編寫的代碼(其他開發人員),我已經看到他們做這樣的事情......

if (_list.Count > 0) 
{ 
    while (_myList.Count > 0) 
    { 
     // do some work 
    } 
} 


這是最好的做法,我甚至要做到這一點?如果是這樣,爲什麼......有人可以在這個話題上閃耀一些光,讓我知道什麼是最好的?謝謝。

+0

第二個代碼段沒用 – efekctive

回答

1

您不必指定,如果:

if (_list.Count > 0) 

While循環

什麼while循環的作用:正在爭吵,並比較什麼離開 從運營商正確的。並返回一個布爾值(true或 false),只要while變爲true就會繼續循環。

IF

如果statment所做的事情:正在爭吵,並比較什麼離開 從運營商的權利。並返回一個布爾值(true或 false),只要if獲得true,它就會繼續並在if代碼塊中運行代碼。

通知:

if (_list.Count > 0) // checking for _list 
{ 
    while (_myList.Count > 0) // checking for _myList 
    { 
    } 
} 

在你表現出的「其他開發者」,你在不同的情況下檢查所以在這種情況下,它可能是有用的,以檢查_list.Count的例子,如果你不當_list.Count> 0時,不想運行te循環。

結論

不要做:當你在if和詭計TEH同一名單上checkking它。

可以這樣做:如果您只想在特定條件或可能的例外情況下運行wile。

0

不,您不需要在這種情況下添加if

進入while條件之前會進行評估,如果< = 0

注意你的樣品中你說的_listmy_list這是不一樣的對象,你不重複。

0

第二個代碼示例沒用。如果列表計數爲0或更小,則不會執行。

但是,你必須檢查,如果_myList是空的,也許是這樣的:

if (_myList == null) 
    //error handling here 

如果_myList真的是零,那麼你就必須在這兩個代碼例子NullReferenceException