개체 목록, 개체 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;
}
나는 사전 조회가 매우 빠르고 듣고, 그래서 나는이를 사용하는 이유는 어쩌면 생각,하지만 난 더 나은 방법이 있는지 알고 싶습니다.
감사합니다. 매트 burland, 나는 오타를 수정했습니다.
음이 라인은 시작에 대한 잘못된 것입니다 :'사전 <문자열, 과일> tempUniqueFruits = 새로운 사전(); 세트는 일반적으로 고유성을 위해 사용되어야한다' –