Οι αρχικοποιητές αντικειμένων είναι μια εναλλακτική λύση στους κατασκευαστές. Η σύνταξη φαίνεται στο παρακάτω παράδειγμα. Δίνεις μια λίστα ζευγών ονόματος-τιμής χωρισμένων με κόμμα, όπου το όνομα και η τιμή χωρίζονται με =, μέσα σε άγκιστρα:
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 ασκήσεις και πραγματική καθοδήγηση από ανθρώπους, όλα δωρεάν.