«مقداردهی اولیهی شیء» جایگزینی برای سازندهها است. نحوهی نگارش آن در زیر نشان داده شده است. یک فهرست جداشده با ویرگول از جفتهای اسم-مقدار میدهید که هر جفت را با = به هم وصل میکنید و همه را داخل «آکولاد» میگذارید:
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"}...};
از شما خواسته شده که کارهای بیشتری روی سیستم احراز هویت شبکه انجام دهید.
علاوه بر اینکه هویت مدیر در زمان توسعه بهصورت هاردکدشده در سیستم قرار دارد، مسئولان میخواهند با توسعهدهندگان ارشد هم به همین شکل رفتار شود.
مشخصات مدیر به شرح زیر است:
| ایمیل | رنگ چشم | عرض فیلتروم | اسم | آدرس ۱ | آدرس ۲ |
|---|---|---|---|---|---|
| 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"]}
مشخصات توسعهدهندگان به شرح زیر است:
| ایمیل | رنگ چشم | عرض فیلتروم | اسم | آدرس ۱ | آدرس ۲ |
|---|---|---|---|---|---|
| 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"]},