개발/C#
[C#] Linq, SingleOrDefault() vs FirstOrDefault()
한번사는인생.
2017. 9. 1. 17:03
1. SingleOrDefault()
조건식에 맞는 단일 레코드를 리턴한다.
데이터가 하나라는 전제로 사용하게 된다.
여러 Row가 존재한다면 에러가 발생하게 된다.
데이터가 존재하지 않으면 null 을 리턴하게 된다.
2. FirstOrDefault()
조건식에 맞는 첫 번째 레코드를 찾는다.
만약 조건식에 맞는 처음 레코드를 찾는 경우 사용하게 된다.
1 2 3 4 5 | var group = Groups.FirstOrDefault(g => g.Index == (int)dr["grp_num"]); if (group != null) { group.News.Add(new ItemProperty((int)dr["news_num"], dr["title"].ToString())); } |
Groups 라는 리스트 객체에서 첫 번째 레코드를 가져와 Index 값과 grp_num (DB에서 가져온 데이터) 를 비교하는 구문이다.