는 좀하지 그 이전 코드를 통과하면서이 라인을 통해 캠과 누구도 그것을 할 것 인 이유를 이해하지 않습니다'?' LINQ 문 중간에
return dbStudents.MethodToReturnAllStudents()?.Select(x => new dtoStudent(x));
MethodToReturnAllStudents
는 IEnumerable<SQLDomain.Student>
(dtoStudent
)을 반환하는 다른에 네임 스페이스 - SQLDomain.Student
은 모두 IDataRecord
에서 매핑되었습니다.
왜이 문장의 중간에 ?
이 올까요? MethodToReturnAllStudents
이 null
을 반환하면 LINQ Select
은 아무 작업을 시도합니까?
주변의 끔찍한 코드입니까?
사이드 노트 : 어쨌든, 나는 그것을 대체 표준을 따르고 훨씬 더 읽기 쉽도록 리팩토링하고있다.
아주 오래된 코드는 아닙니다.이것은 null을 확인하는 C# 6.0 구문입니다. [Null-Conditional Operator] (https://msdn.microsoft.com/en-us/library/dn986595.aspx?f=255&MSPPError=-2147217396) – Steve
나는 개인적으로 이와 같은 코드를 좋아합니다. 프로그래머가 언어를 잘 알고 있음을 보여줍니다. – user1274820
@steve 정식 적으로 언급 - 꽤 오래 VB.net에 살았습니다. –