반응형
LINQ로 DataTable이나 컬렉션(List, Array, Dictionary)의 요소중에서 조건에 맞는 데이터만 가져올경우에 Null값이 포함될 경우가 있을때, 일반적인 Where조건을 사용할 경우 제대로 된 결과가 안나오거나 에러가 발생할때 유용하게 사용됩니다.
샘플코드는 문자열 리스트에 Null값이 있으며, 조건에 맞는 데이터를 가져올수 있도록 Where조건에 Null값을 배제하도록 설정하는 방법입니다.
중요한 포인트는 (r ?? string.Empty)부분으로 문자열 리스트의 값중에서 null있을 경우에 빈값으로 강제적으로 처리해주는 부분입니다.
//10개의 국가명 문자열 리스트
var list = new List<string> { null, "South Korea", "Belgium", "France", "Malaysia", "Sweden", "Portugal", "Palau", "Mexico", "Spain" };
//문자열 리스트에서 해당조건을 만족하는 요소만 가져오기
//문자열 리스트중에서 null값이 있을경우에는 빈값으로 인식하도록 조건 설정
//S로 시작되는 국가명을 조회하는 조건
var query = list.Where(r => (r ?? string.Empty).Contains("S"));
Console.WriteLine(" Query1");
Console.WriteLine(" {0}", string.Join(", ", query));
Console.ReadKey();
결과값
반응형
'C#' 카테고리의 다른 글
LINQ Left Outer Join 사용법 (0) | 2021.07.23 |
---|---|
LINQ Inner Join 사용법 (2) | 2021.07.22 |
LINQ Distinct, Skip, Take메서드 사용법 (0) | 2021.07.21 |
LINQ Any, All메서드 사용법 (0) | 2021.07.18 |
LINQ GroupBy, OrderBy메소드 사용법 (0) | 2021.07.17 |
댓글