Недавно меня попросили доказать мощь C # 3.0 в одной строке (может быть, сложно)
я написал
new int[] { 1, 2, 3 }.Union(new int[]{10,23,45}).
ToList().ForEach(x => Console.WriteLine(x));
и объяснил, что вы можете иметь (i) анонимный массив (ii) метод расширения (iii) лямбда и замыкание в одной строке. Я получил предложение спот.
Но .....
Интервьюер спросил меня how will you convert an anonymous type into known type :(
Я объяснил
public class Product
{
public double ItemPrice { private set; get; }
public string ItemName { private set; get; }
}
var anony=new {ItemName="xxxx",ItemPrice=123.56};
Вы не можете назначить product a=anony;
Интервьюер ответил, что вероятность сделать это составляет 200%.
если у вас есть небольшая работа вокруг. Я был невежественен.
Как обычно, я жду вашего ценного ответа (возможно ли это?).