我很好奇,如果我忽略了一些顯而易見的事情: 我經常使用List<T>
,我經常需要檢查它是否包含任何值。我打電話List<T>.Count()
查看計數是否大於0.這看起來像是一個昂貴的操作,只是想要查看它是否包含任何值。檢查列表<T>是否具有任何值而不調用Count?
有沒有一些被忽視的方法來檢查這個? A IsEmpty()
種事情?
我很好奇,如果我忽略了一些顯而易見的事情: 我經常使用List<T>
,我經常需要檢查它是否包含任何值。我打電話List<T>.Count()
查看計數是否大於0.這看起來像是一個昂貴的操作,只是想要查看它是否包含任何值。檢查列表<T>是否具有任何值而不調用Count?
有沒有一些被忽視的方法來檢查這個? A IsEmpty()
種事情?
這感覺就像是一個昂貴的操作,只是想要 看看它是否包含任何值。
別擔心,.Count()
擴展方法將回退到.Count
屬性,如果下屬類型支持它。
當然,如果在編譯時你有一個IList<T>
那麼你最好直接使用.Count屬性。但是如果您只有IEnumerable<T>
(其具體實現恰巧是List<T>
),則可以使用.Count()
擴展方法,而不會出現任何性能問題。
您可以使用
list.Any()
但這種操作是一樣便宜,當你實際處理的列表。 如果它是一個實現IEnumerable但不是IList的集合,使用Any
會更便宜。