Чем отличаются способы инициализации? - C#
Формулировка задачи:
Здравствуйте.
Вчера баловался с новым способом инициализации из C# 6.0 и возникла идея для задачки.
Ответ на неё у меня есть (как я думаю), хочу испытать вас
Сложность: 3 из 10.
В чём принципиальное отличие в функционировании двух следующих способов инициализации?
Ответ под спойлер.
var userIDs = new Dictionary<string, int> {
{ "Almiqui", 28643 },
{ "Humanoid", 4966 }
};var userIDs = new Dictionary<string, int> {
["Almiqui"] = 28643,
["Humanoid"] = 4966
};Решение задачи: «Чем отличаются способы инициализации?»
textual
Листинг программы
class X : Dictionary<int, int>
{
public new int this[int index]
{
set
{
Console.WriteLine("this");
}
}
public new void Add(int a, int b)
{
Console.WriteLine("Add");
}
}
static void Main(string[] args)
{
var d = new X
{
[5] = 88
};
var e = new X
{
{5, 88}
};
}