트랙
/
C#
C#
/
연습 문제
/
개발자 권한
개발자 권한

개발자 권한

학습 연습 문제

소개

개체 이니셜라이저

개체 이니셜라이저는 생성자를 대신하는 방법이에요. 문법은 아래와 같아요. 중괄호 안에 =로 구분한 이름-값 쌍을 쉼표로 나열해요:

public class Person
{
    public string Name;
    public string Address;
}

var person = new Person{Name="The President", Address = "Élysée Palace"};

컬렉션도 같은 방식으로 초기화할 수 있어요. 보통은 아래처럼 쉼표로 구분한 목록으로 작성해요:

IList<Person> people = new List<Person>{ new Person(), new Person{Name="Joe Shmo"}};

딕셔너리에는 다음과 같은 문법을 사용해요:

IDictionary<int, string> numbers = new Dictionary<int, string>{ [0] = "zero", [1] = "one"...};

// or

IDictionary<int, string> numbers = new Dictionary<int, string>{ {0, "zero" }, {1,  "one"}...};

지침

네트워크 인증 시스템에 대한 작업을 좀 더 해 달라는 요청을 받았어요.

개발 중에 관리자 신원이 시스템에 하드코딩되어 있는 것에 더해, 윗선에서는 선임 개발자들에게도 같은 방식을 적용하기를 원해요.

1. 시스템 관리자의 정보를 시스템에 하드코딩해 저장하고, 호출하는 쪽에서 사용할 수 있게 만들어요.

관리자의 정보는 다음과 같아요:

이메일 눈 색깔 인중 너비 이름 주소 1 주소 2
admin@ex.ism green 0.9 Chanakya Mumbai India

시스템 관리자의 신원 정보를 반환하도록 Authenticator.Admin 속성을 구현해요. 이름과 주소의 각 부분은 NameAndAddress 배열의 각각 다른 원소에 들어가야 해요.

var authenticator = new Authenticator();
authenticator.Admin;
// => {"admin@ex.ism", {"green", 0.9m}, ["Chanakya", "Mumbai", "India"]}

2. 개발자들의 정보를 시스템에 하드코딩해 저장하고, 딕셔너리 형태로 사용할 수 있게 만들어요

개발자들의 정보는 다음과 같아요:

이메일 눈 색깔 인중 너비 이름 주소 1 주소 2
bert@ex.ism blue 0.8 Bertrand Paris France
anders@ex.ism brown 0.85 Anders Redmond USA

개발자들의 신원 정보를 반환하도록 Authenticator.Developers 속성을 구현해요. 딕셔너리의 키는 개발자의 이름이에요.

var authenticator = new Authenticator();
authenticator.Developers;
// => ["Bertrand"] = {"bert@ex.ism", {"blue", 0.8m}, ["Bertrand", "Paris", "France"]},
// ["Anders"] = {"anders@ex.ism", {"brown", 0.85m}, ["Anders", "Redmond", "USA"]},

GitHub에서 편집 링크가 새 창이나 탭에서 열려요
C# Exercism

개발자 권한 문제를 시작해 볼 준비가 됐나요?

Exercism에 가입하고 C# 트랙을 개념 62개연습 문제 178개, 그리고 실제 사람의 멘토링과 함께 배우고 익혀 보세요. 모두 무료예요.