반응형
C #에 HashSet에 해당하는 AddRange가 있습니까?
목록으로 할 수있는 작업 :
list.AddRange(otherCollection);
HashSet 에는 범위 추가 방법이 없습니다 . HashSet에 다른 컬렉션을 추가하는 가장 좋은 방법은 무엇입니까?
를 들어 HashSet<T>
, 이름입니다 UnionWith
.
이것은 HashSet
작품 의 뚜렷한 방식을 나타냅니다 . Add
에서와 같이 임의의 요소를 안전하게 설정할 수 없으며 Collections
일부 요소는 자연스럽게 증발 할 수 있습니다.
나는 그것이 UnionWith
"다른 것과 합병"한 후에 그 이름 을 취 한다고 생각 HashSet
하지만, 과부하 IEnumerable<T>
도 있습니다.
이것은 한 가지 방법입니다.
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;
}
}
반응형
'Programing' 카테고리의 다른 글
PHP 삼항 연산자 대 null 병합 연산자 (0) | 2020.03.27 |
---|---|
Sublime Text 3의 프로젝트에서 모든 파일 검색 (0) | 2020.03.27 |
C ++ std :: pair의 C # 아날로그 란 무엇입니까? (0) | 2020.03.27 |
개발을위한 장치 설정 (???????????? 권한 없음) (0) | 2020.03.26 |
PDOException SQLSTATE [HY000] [2002] 해당 파일 또는 디렉토리가 없음 (0) | 2020.03.26 |