Inicializadores de objeto são uma alternativa aos construtores. A sintaxe é ilustrada abaixo. Você fornece uma lista de pares nome-valor separados por vírgulas e por =, entre chaves:
public class Person
{
public string Name;
public string Address;
}
var person = new Person{Name="The President", Address = "Élysée Palace"};
Coleções também podem ser inicializadas dessa forma. Normalmente, isso é feito com listas separadas por vírgulas, como mostrado aqui:
IList<Person> people = new List<Person>{ new Person(), new Person{Name="Joe Shmo"}};
Dicionários usam a seguinte sintaxe:
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"}...};
Você recebeu a tarefa de trabalhar mais um pouco no sistema de autenticação de rede.
Além de a identidade do admin estar fixa no código do sistema durante o desenvolvimento, quem manda também quer que os desenvolvedores sênior recebam o mesmo tratamento.
Os dados do admin são os seguintes:
| Cor dos olhos | Largura do filtro labial | Nome | Endereço 1 | Endereço 2 | |
|---|---|---|---|---|---|
| admin@ex.ism | green | 0.9 | Chanakya | Mumbai | India |
Implemente a propriedade Authenticator.Admin para retornar os dados de identidade do admin do sistema. O nome e cada parte do endereço devem ficar em um elemento separado da lista NameAndAddress.
var authenticator = new Authenticator();
authenticator.Admin;
// => {"admin@ex.ism", {"green", 0.9m}, ["Chanakya", "Mumbai", "India"]}
Os dados dos desenvolvedores são os seguintes:
| Cor dos olhos | Largura do filtro labial | Nome | Endereço 1 | Endereço 2 | |
|---|---|---|---|---|---|
| bert@ex.ism | blue | 0.8 | Bertrand | Paris | France |
| anders@ex.ism | brown | 0.85 | Anders | Redmond | USA |
Implemente a propriedade Authenticator.Developers para retornar os dados de identidade dos desenvolvedores. A chave do dicionário é o nome do desenvolvedor.
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"]},
Crie sua conta no Exercism para aprender e dominar C# com 62 conceitos178 exercícios e mentoria humana de verdade, tudo de graça.