這種if-testing在刪除項目時是否必要?C#列表<T>包含測試
if (_items.Contains(item))
{
_items.Remove(item);
}
而且,這個測試呢?
if (!_items.Contains(item))
{
_items.Add(item);
}
這種if-testing在刪除項目時是否必要?C#列表<T>包含測試
if (_items.Contains(item))
{
_items.Remove(item);
}
而且,這個測試呢?
if (!_items.Contains(item))
{
_items.Add(item);
}
您不必測試即可移除。如果Remove()沒有刪除任何內容,它將返回false。
如果您不想在列表中重複項目,您可以在添加之前進行測試。否則,你會有重複。
你也可以,如果你希望能夠加入()的項目進行了多次,並有它只是在集合中出現一次使用一個HashSet <牛逼>,而不檢查載有()第一。
爲什麼你不只是閱讀文檔和/或嘗試它?看起來像一個簡單的事情找出來。 – 2009-10-20 00:47:57
在Stackoverflow上提出問題時,我看不出有什麼問題,即使你是正確的,閱讀文檔總是一個好的反應。在這裏的答案也可以提供額外的洞察力,可以讓他感興趣(比如在第二個答案中提到Hashset)。 – 2009-10-20 01:04:13