LINQ 데이터 추가 방법
이번 포스팅은 데이터 집합에 값을 추가할 수 있는 다음 두 가지 메서드를 소개합니다.
- Append()
- Prepend()
참고로 Append(), Prepend() 메서드는 .Net Framework 4.7.1 이상에서 제공하는 메서드이므로 이전 버전에서는 사용할 수 없습니다.
Append 메서드
C#의 Linq에서 제공하는 Append() 메서드는 데이터 집합 마지막 위치에 값을 추가하는 용도로 사용됩니다. Append() 메서드는 기존 데이터 집합을 수정하지 않으며, 값이 추가된 새로운 데이터 집합을 반환합니다.
public static IEnumerable<TSource> Append<TSource>(
this IEnumerable<TSource> source,
TSource element);
Append() 메서드는 IEnumerable 인터페이스의 확장 메서드이며, 데이터 집합과 동일한 타입의 값을 추가할 수 있습니다.
예제 1. Append 메서드 사용 방법
다음 예제는 1부터 3까지 int 타입의 값을 가지는 List에서 Append() 메서드를 사용하여 마지막 위치에 4를 추가합니다.
class Program
{
static void Main(string[] args)
{
List<int> intList = new List<int>()
{
1, 2, 3
};
List<int> appendResult = intList.Append(4).ToList();
Console.WriteLine("intList의 값");
intList.ForEach(num => Console.Write(num + " "));
Console.WriteLine("\n\nappendResult 값");
appendResult.ForEach(num => Console.Write(num + " "));
}
}
[실행 결과]
intList의 값
1 2 3
appendResult 값
1 2 3 4
Append() 메서드는 IEnumerable<TResult>를 반환합니다. 따라서, List로 반환하고 싶은 경우 ToList() 메서드를 호출합니다.
실행 결과에서 확인할 수 있듯이 append() 메서드는 기존 데이터 집합의 값을 변경하지 않습니다. intList 마지막 위치에 4가 추가된 새로운 데이터 집합을 반환합니다.
Prepend 메서드
C#의 Linq에서 제공하는 Prepend() 메서드는 데이터 집합 처음 위치에 값을 추가하는 용도로 사용됩니다. Prepend() 메서드는 기존 데이터 집합을 수정하지 않으며, 값이 추가된 새로운 데이터 집합을 반환합니다.
public static IEnumerable<TSource> Prepend<TSource>(
this IEnumerable<TSource> source,
TSource element);
Prepend() 메서드는 IEnumerable 인터페이스의 확장 메서드이며, 데이터 집합과 동일한 타입의 값을 추가할 수 있습니다.
예제 1. Prepend 메서드 사용 방법
다음 예제는 1부터 3까지 int 타입의 값을 가지는 List에서 Prepend() 메서드를 사용하여 처음 위치에 0을 추가합니다.
class Program
{
static void Main(string[] args)
{
List<int> intList = new List<int>()
{
1, 2, 3
};
List<int> prependResult = intList.Prepend(0).ToList();
Console.WriteLine("intList의 값");
intList.ForEach(num => Console.Write(num + " "));
Console.WriteLine("\n\nprependResult 값");
prependResult.ForEach(num => Console.Write(num + " "));
}
}
[실행 결과]
intList의 값
1 2 3
prependResult 값
0 1 2 3
Append() 메서드와 마찬가지로 IEnumerable<TResult>를 반환합니다. 따라서, List로 반환하고 싶은 경우 Prepend() 메서드 뒤에 ToList() 메서드를 호출합니다.
실행 결과에서 확인할 수 있듯이 Prepend() 메서드는 기존 데이터 집합의 값을 변경하지 않습니다. intList 처음 위치에 0이 추가된 새로운 데이터 집합을 반환합니다.
'C# > LINQ' 카테고리의 다른 글
[C#]LINQ 결과를 Dictionary로 변환 - ToDictionary 메서드 (0) | 2022.08.15 |
---|---|
[C#]LINQ 결과를 리스트 또는 배열로 반환 - ToList, ToArray 메서드 (0) | 2022.08.14 |
[C#]LINQ 빈 값으로 설정 - Empty 메서드 (0) | 2022.08.14 |
[C#]LINQ 지정된 범위 또는 횟수만큼 데이터 생성 - Range, Repeat 메서드 (0) | 2022.08.14 |
[C#]LINQ 특정 조건을 만족하는 데이터 생략하기 - SkipWhile 메서드 (0) | 2022.08.14 |
댓글