Gli inizializzatori di oggetto sono un'alternativa ai costruttori. La sintassi è illustrata qui sotto. Si fornisce un elenco di coppie nome-valore separate da virgole, dove nome e valore sono separati da =, racchiuso tra parentesi graffe ({}):
public class Person
{
public string Name;
public string Address;
}
var person = new Person{Name="The President", Address = "Élysée Palace"};
Anche le collezioni si possono inizializzare in questo modo. Di solito si usano elenchi separati da virgole, come in questo esempio:
IList<Person> people = new List<Person>{ new Person(), new Person{Name="Joe Shmo"}};
Per i dizionari si usa la sintassi seguente:
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"}...};
Ti è stato chiesto di fare ancora un po' di lavoro sul sistema di autenticazione della rete.
Oltre all'identità dell'amministratore codificata direttamente nel sistema durante lo sviluppo, i piani alti vogliono che anche agli sviluppatori senior venga riservato lo stesso trattamento.
I dettagli dell'amministratore sono i seguenti:
| Colore degli occhi | Larghezza del filtro | Nome | Indirizzo 1 | Indirizzo 2 | |
|---|---|---|---|---|---|
| admin@ex.ism | green | 0.9 | Chanakya | Mumbai | India |
Implementa la proprietà Authenticator.Admin in modo che restituisca i dettagli dell'identità dell'amministratore di sistema. Il nome e ogni parte dell'indirizzo devono trovarsi in un elemento separato della lista NameAndAddress.
var authenticator = new Authenticator();
authenticator.Admin;
// => {"admin@ex.ism", {"green", 0.9m}, ["Chanakya", "Mumbai", "India"]}
I dettagli degli sviluppatori sono i seguenti:
| Colore degli occhi | Larghezza del filtro | Nome | Indirizzo 1 | Indirizzo 2 | |
|---|---|---|---|---|---|
| bert@ex.ism | blue | 0.8 | Bertrand | Paris | France |
| anders@ex.ism | brown | 0.85 | Anders | Redmond | USA |
Implementa la proprietà Authenticator.Developers in modo che restituisca i dettagli dell'identità degli sviluppatori. La chiave del dizionario è il nome dello sviluppatore.
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"]},
Iscriviti a Exercism per imparare e padroneggiare C# con 62 concetti178 esercizi e il mentoring di persone reali, tutto gratis.