Анонимные типы

Последнее обновление: 15.10.2018
Вопрос 1

Что будет выведено на консоль в результате выполнения следующей программы и почему?

class Program
{
	static void Main(string[] args)
	{
		var user = new { Name = "Tom", Age = 34 };
		user.Name = "Bob";
		Console.WriteLine(user.Name);
		Console.Read();
	}
}

Программа не скомпилируется, потому что свойства анонимных объектов только для чтения, и мы можем присваивать им значения только при инициализации анонимного объекта.

Вопрос 2

Анонимные типы представляют значимый или ссылочный тип?

Ссылочный тип.

Вопрос 3

Скомпилируется ли следующая программа? Если скомпилируется, то что будет выведено на консоль? Если не скомпилируется, то почему?

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"

Дополнительные материалы
Помощь сайту
Юмани:
410011174743222
Перевод на карту
Номер карты:
4048415020898850