Os inicializadores de objetos são uma alternativa aos construtores. A sintaxe é ilustrada abaixo. Forneces uma lista de pares nome-valor separados por vírgulas, com o nome e o valor separados por =, tudo entre chavetas:
public class Person
{
public string Name;
public string Address;
}
var person = new Person{Name="The President", Address = "Élysée Palace"};
As coleções também podem ser inicializadas desta forma. Normalmente, isto faz-se com listas separadas por vírgulas, como se mostra aqui:
IList<Person> people = new List<Person>{ new Person(), new Person{Name="Joe Shmo"}};
Os 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"}...};
Pediram-te para fazer mais algum trabalho no sistema de autenticação de rede.
Além de a identidade do administrador estar escrita diretamente no código do sistema durante o desenvolvimento, os responsáveis também querem dar o mesmo tratamento aos programadores seniores.
Os dados do administrador são os seguintes:
| Cor dos olhos | Largura do filtro | Nome | Morada 1 | Morada 2 | |
|---|---|---|---|---|---|
| admin@ex.ism | green | 0.9 | Chanakya | Mumbai | India |
Implementa a propriedade Authenticator.Admin para devolver os dados de identidade do administrador do sistema. O nome e cada parte da morada devem ficar em elementos separados da lista NameAndAddress.
var authenticator = new Authenticator();
authenticator.Admin;
// => {"admin@ex.ism", {"green", 0.9m}, ["Chanakya", "Mumbai", "India"]}
Os dados dos programadores são os seguintes:
| Cor dos olhos | Largura do filtro | Nome | Morada 1 | Morada 2 | |
|---|---|---|---|---|---|
| bert@ex.ism | blue | 0.8 | Bertrand | Paris | France |
| anders@ex.ism | brown | 0.85 | Anders | Redmond | USA |
Implementa a propriedade Authenticator.Developers para devolver os dados de identidade dos programadores. A chave do dicionário é o nome do programador.
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"]},
Inscreve-te no Exercism para aprenderes e dominares C# com 62 conceitos178 exercícios, e mentoria humana real, tudo grátis.