목록으로 할 수있는 작업 :
list.AddRange(otherCollection);
HashSet 에는 범위 추가 방법이 없습니다 . HashSet에 다른 컬렉션을 추가하는 가장 좋은 방법은 무엇입니까?
목록으로 할 수있는 작업 :
list.AddRange(otherCollection);
HashSet 에는 범위 추가 방법이 없습니다 . HashSet에 다른 컬렉션을 추가하는 가장 좋은 방법은 무엇입니까?
답변:
이것은 한 가지 방법입니다.
public static class Extensions
{
public static bool AddRange<T>(this HashSet<T> source, IEnumerable<T> items)
{
bool allAdded = true;
foreach (T item in items)
{
allAdded &= source.Add(item);
}
return allAdded;
}
}
HashSet
(및ISet
)는 수학적으로 설정된 용어로 만들어졌습니다.UnionWith
더 가까운 용어였다. 를 제외하고 수학적으로 말하면Except
으로 명확하게 명명되어야합니다Subtract
.