Ініціалізатори обʼєктів - це альтернатива конструкторам. Синтаксис наведено нижче. Ми надаємо розділений комами список пар імʼя-значення, де імʼя та значення розділені знаком =, а весь список узятий у фігурні дужки:
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 | Адреса 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"]}
Дані розробників такі:
| Електронна пошта | Колір очей | Ширина фільтруму | Імʼя | Адреса 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"]},
Зареєструйтеся на Exercism, щоб вивчати й опановувати C#, а також 62 концепції178 вправ та справжнє наставництво від людей, і все це безкоштовно.