Før collection initializers blev indført med C# 3.0, var det nødvendigt at initialisere static collections i static constructors (medmindre man gjorde det "dovent" ifm. et funktionskald).  Hvis man selv giver en klasse en static constructor, vil C# kompileren fjerne beforefieldinit flaget fra klassen, hvilket i nogle tilfælde kan give dårligere performance.  Med collection initializers kan man fylde data i en static collection inline og dermed beholde beforefieldinit:

static Dictionary<int, string>; someStaticCollection = new Dictionary<int, string>()
{
    { 42, "The answer" },
    { 90, "ne0sans new Nikon camera" }
};

IL'en viser, at C# kompileren putter beforefieldinit på klassen:

beforefieldinit