有這樣的整數數組:檢查int數組包含一個值,如果是的話,我有多少
int[] responses = new int[3];
然後腳本執行ping IP地址的4倍。如果它得到答覆,它會向數組添加「1」。如果它沒有得到答覆,它會向數組中添加一個「0」。我想看看數組是否包含任何零,如果有,多少。任何想法,我怎麼能做到這一點?
有這樣的整數數組:檢查int數組包含一個值,如果是的話,我有多少
int[] responses = new int[3];
然後腳本執行ping IP地址的4倍。如果它得到答覆,它會向數組添加「1」。如果它沒有得到答覆,它會向數組中添加一個「0」。我想看看數組是否包含任何零,如果有,多少。任何想法,我怎麼能做到這一點?
int failedResponsesCount = responses.Count(r => r == 0);
我還建議使用List<bool>
保留回覆的歷史記錄。因爲你正在添加項目(順便說一下,與數組,你不能分辨0
是'添加',或者它只是項目的默認值)。你也可以在這裏獲得漂亮的布爾邏輯(你可以得到回覆或不回覆) - 你不需要用整數來表示響應類型。
另一種方式;)
int total = responses.Count(x => x == 0);
if(total > 0)
//Do something;
else
//Do something else
這比直接運行'Count'然後檢查結果好嗎?現在你必須不止一次地迭代列表。 – Default
你是對的!我只是這樣做,因爲他要求這樣做。 「我想看看數組是否包含任何零,如果有,有多少。」但正如您所說,效率不高,讓我編輯 –
您的最新編輯不滿足'多少'的要求;)你可以去做int計數; if(count = responses.Count(x => x == 0)> 0)'。 –
這是相當瑣碎,你嘗試過什麼? – CodeCaster
請注意,如果要存儲四個元素,爲什麼要爲三個元素預留空間?使用列表的建議也很好。 –
@Romiox哎呀,好點。我對c#很陌生,我認爲0是一個元素。 – Matt