假设我有一个对象列表 object 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;
}
我听说字典查找非常快,所以我想这可能就是使用它的原因,但我想知道是否有更好的方法。
谢谢马特伯兰,我修正了错字。(还不能评论)