먼저()
- 시퀀스의 첫 번째 요소를 반환합니다.
- 결과에 요소가 없거나 소스가 널인 경우 오류가 발생합니다.
- 하나 이상의 요소가 예상되고 첫 번째 요소 만 원하는 경우이를 사용해야합니다.
FirstOrDefault ()
- 시퀀스의 첫 번째 요소 또는 요소가없는 경우 기본값을 리턴합니다.
- 소스가 null 인 경우에만 오류가 발생합니다.
- 하나 이상의 요소가 예상되고 첫 번째 요소 만 원하는 경우이를 사용해야합니다. 결과가 비어있는 경우에도 좋습니다.
UserInfos 테이블이 있는데, 아래와 같이 몇 가지 레코드가 있습니다. 아래 표를 기반으로 예제를 만들었습니다.
First ()를 사용하는 방법
var result = dc.UserInfos.First(x => x.ID == 1);
ID == 1 인 레코드는 하나뿐입니다.이 레코드를 반환해야합니다
. 1 이름 : Manish 성 : Dubey 이메일 : xyz@xyz.com
var result = dc.UserInfos.First(x => x.FName == "Rahul");
FName == "Rahul"인 레코드가 여러 개 있습니다. 첫 번째 기록을 반환해야합니다.
아이디 : 7 이름 : Rahul 성 : Sharma 이메일 : xyz1@xyz.com
var result = dc.UserInfos.First(x => x.ID ==13);
ID == 13 인 레코드가 없습니다. 오류가 발생해야합니다.
InvalidOperationException : 시퀀스에 요소가 없습니다
FirstOrDefault ()를 사용하는 방법
var result = dc.UserInfos.FirstOrDefault(x => x.ID == 1);
ID == 1 인 레코드는 하나뿐입니다.이 레코드를 반환해야합니다
. 1 이름 : Manish 성 : Dubey 이메일 : xyz@xyz.com
var result = dc.UserInfos.FirstOrDefault(x => x.FName == "Rahul");
FName == "Rahul"인 레코드가 여러 개 있습니다. 첫 번째 기록을 반환해야합니다.
아이디 : 7 이름 : Rahul 성 : Sharma 이메일 : xyz1@xyz.com
var result = dc.UserInfos.FirstOrDefault(x => x.ID ==13);
ID == 13 인 레코드가 없습니다. 반환 값이 null입니다.
그것을 사용할 때 이해하는 데 도움이 될 것입니다 희망 First()
이나 FirstOrDefault()
.
.First
및.FirstOrDefault
인수로 모두 걸릴 술어는, 그래서var result = List.Where(x => x == "foo").First();
같이 다시 작성할 수 있습니다var result = List.First(x => x == "foo");