C# 11 List Patterns 스택오버플로우 질문/답변 사례

C# 11 List Patterns과 관련된 질문을 StackOverflow에서 발견했는데요. 이 사례를 통해 새로운 기능을 한번 살펴보겠습니다. 공식 문서보다는 재미있을 수도 있으니 한번 읽어보시면 좋을 것 같습니다. :smile:


질문자님이 원하는 코드

public static string IsRuEnWithEmail(Employee emp) => emp switch
{
    { Email:  != null, Languages: { "ru", "en" } } =>
        $"{emp.FCs}, {emp.Email}, {emp.Role}",
    _ => "",
};

정답으로 채택된 List Patterns (C# 11)

// We expect a method prefixed with "Is" to return a boolean
// but OP provided this signature
public static string IsRuEnWithEmail(Employee emp) => emp switch
{
    { Email: {}, Languages: ["ru", "en", ..] } => $"{emp.FCs}, {emp.Email}, {emp.Role}",
    _ => "",
};
  • Email: {}은 객체가 null이 아닌지를 확인합니다.

제가 준비한 내용은 여기까지 입니다.
읽어주셔서 감사합니다. :smile:

3개의 좋아요