C #에서 목록의 값을 어떻게 복제 할 수 있습니까? 나는 제거하는 방법에 대한 수많은 솔루션 스마트 솔루션 (특히 Linq)을 찾았지만 복제 방법은 없으며 어떤 경우에도 내 필요에 맞게 코드를 조정할 수 없습니다.
예 : 16-> Lst {0 0 12 13 16 0 3} ---> {0 0 12 13 16 16 0 3}
순환 할 필요는 없지만 단일 지침을 선호합니다.
도움을 주셔서 감사합니다
패트릭
기본 LINQ 메서드와 동일한 방식으로 사용할 수있는 고유 한 확장 메서드를 작성할 수 있습니다.
public static IEnumerable<T> Duplicate<T>(this IEnumerable<T> input, T toDuplicate)
{
foreach(T item in input)
{
yield return item;
if(EqualityComparer<T>.Default.Equals(item, toDuplicate))
{
yield return item;
}
}
}
사용법은
var test = new List<int>() { 0, 0, 12, 13, 16, 0, 3 };
var duplicated = test.Duplicate(16).ToList();
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다