說我有一個對象列表,對象Fruit
。水果有一個屬性Name
。即Fruit1.Name = "Apple"
,Fruit2.Name = "Orange"
,Fruit3.Name = "Apple"
,Fruit4.Name = "Melon"
...等使用字典檢查列表中的唯一元素是否常見?
List<Fruit> Basket = {Fruit1, Fruit2, Fruit3, Fruit4, Fruit 5...... Fruit 100}.
我想擁有獨特的水果,其中列表中的每一個水果都有其獨特的名字的列表。我想優化時間。 我見過一些人做了以下事情。這是最好的方式嗎?
public List<Fruit> GetUniqueFruits(List<Fruit> Basket)
{
Dictionary<string, Fruit> tempUniqueFruits = new Dictionary<string, Fruit>();
List<Fruit> uniqueFruits = new List<Fruit>();
foreach(var fruit in Basket)
{
if (!tempUniqueFruits.ContainsKey(fruit.Name)
{
tempUniqueFruits.Add(fruit.Name, fruit);
uniqueFruits.Add(fruit);
}
}
return uniqueFruits;
}
我聽說字典查找速度非常快,所以我想也許這就是爲什麼使用它,但我想知道是否有更好的方法。
謝謝馬特布蘭德,我修正了錯字。 (coulnd't comment yet)
那麼這行是錯誤的開始:'字典<字符串,水果> tempUniqueFruits =新字典();' –