Что будет выведено на консоль в результате выполнения следующей программы и почему?
class Program { static void Main(string[] args) { var user = new { Name = "Tom", Age = 34 }; user.Name = "Bob"; Console.WriteLine(user.Name); Console.Read(); } }
Программа не скомпилируется, потому что свойства анонимных объектов только для чтения, и мы можем присваивать им значения только при инициализации анонимного объекта.
Анонимные типы представляют значимый или ссылочный тип?
Ссылочный тип.
Скомпилируется ли следующая программа? Если скомпилируется, то что будет выведено на консоль? Если не скомпилируется, то почему?
class Auto { public string Name { get; set; } } class User { public string Name { get; set; } public Auto Auto { get; set; } } class Program { static void Main(string[] args) { User tom = new User { Name = "Tom", Auto = new Auto { Name = "Ford" } }; int age = 34; var student = new { tom.Auto.Name, age}; Console.WriteLine(student.Name); Console.Read(); } }
Программа скомпилируется, и на консоль будет выведена строка "Ford"