בפרק הקודם למדנו על Null-conditional Operators, היום נלמד על שיפורים ב – Collection Initializers.

    אחד הדברים שנכנסו לשפה בגרסאות הקודמות היא היכולת לאתחל אובייקטים (שמממשים את ICollection או לחלופין מממשים את IEnumerable ובנוסף יש להם מתודה בשם Add) בזמן היצירה, משהו בסגנון הזה:

    Code Snippet
    var numbers = new Dictionary<int, string>
    {
        {1, "seven"},
        {9, "nine"},
        {13, "thirteen"}
    };

     

    שיפור נחמד (לא הכי משמעותי בעולם) היא היכולת לכתוב בעזרת Index,

    Code Snippet
    var numbers = new Dictionary<int, string>
    {
        [7] = "seven",
        [9] = "nine",
        [13] = "thirteen"
    };

     

    שיפור נוסף (שהוא כבר יותר משמעותי) שניתן להשתמש במנגנון של Collection Initializers גם במידה ונוסיף את מתודת Add כ – extension, המשמעות שאנחנו יכולים להוסיף את היכולת לימוש בתכונה הזו, גם למחלקות שאינם שלנו