리스트의 요소들 중에 특정 조건에 맞는 요소들만 필터링하여 리스트에 저장하는 방법을 소개합니다.
1. FindAll()을 이용한 방법
List.FindAll(match)은 리스트의 요소들 중에 match 함수와 일치하는 요소들만 새로운 List로 리턴합니다.
아래와 같이 양수만 필터링하는 match 함수를 만들어 FindAll()로 전달하여 필터링할 수 있습니다.
using System;
namespace Example {
public class Program {
public static void Main(string[] args) {
List<int> list = new List<int> {-3, -2, -1, 0, 1, 2, 3};
List<int> positive = list.FindAll(x => x > 0);
Console.WriteLine(String.Join(", ", positive));
}
}
}Output:
1, 2, 32. Where()를 이용한 방법
LINQ의 Where()를 이용한 방법으로, 특정 조건을 만족하는 요소들만 필터링하여 IEnumerable로 리턴합니다.
IEnumerable은 ToList()를 이용하여 리스트로 변환할 수 있습니다.
아래와 같이 Where()를 사용하여 정수 중에 양수만 필터링하는 코드를 작성할 수 있습니다.
using System;
namespace Example {
public class Program {
public static void Main(string[] args) {
List<int> list = new List<int> {-3, -2, -1, 0, 1, 2, 3};
List<int> positive = list.Where(x => x > 0).ToList();
Console.WriteLine(String.Join(", ", positive));
}
}
}Output:
1, 2, 3Loading script...
Related Posts
- C# 바이트(Byte) 배열을 문자열로 변환
- C# String.format() 함수 알아보기
- C# - foreach (Array, List, Dictionary)
- C# 프로퍼티(Property) Get/Set 함수
- C# - Dictionary에서 key, value 가져오기
- C# - Dictionary 순회, foreach, for 루프
- C# - Dictionary에서 key, value 삭제
- C# - Dictionary.add()로 데이터 추가
- C# - Dictionary 선언 및 초기화
- C# - 문자열을 Double, Float으로 변환
- C# - 문자열을 리스트로 변환
- C# - 두 날짜/시간 비교, DateTime.Compare()
- C# - 날짜 문자열을 DateTime으로 변환
- C# - Sleep, 몇 초간 지연시키기
- C# - 날짜 계산, DateTime 시간 더하기 빼기
- C# - Timestamp(millisecond)를 DateTime 객체로 변환
- C# - 현재 시간 가져오기, DateTime
- C# - 문자열 리스트를 문자열로 변환
- C# - 리스트 복사 (얕은 복사, 깊은 복사)
- C# - 2차원 리스트 선언 및 초기화
- C# - 리스트 선언 및 초기화
- C# - 리스트 길이, 크기 가져오기
- C# - 리스트 합계, 평균 계산
- C# - 리스트 요소 제거 (RemoveAt, RemoveAt, RemoveAll)
- C# - 리스트에서 빈 문자열, null 제거
- C# - 리스트 두개로 분리, n개로 나누기
- C# - 문자열 뒤집기, Reverse()
- C# - 2차원 배열 복사, Clone
- C# - 문자열 배열을 문자열로 변환
- C# - 2차원 배열 선언, 초기화 방법
- C# - 배열 길이, 2차원 배열 길이
- C# - 두개의 배열을 하나로 합치기
- C# - 배열 중복 요소 제거
- C# - 배열에서 특정 요소 제거
- C# - Int 배열 정렬 (오름차순, 내림차순)