匿名类型行为

Anonymous Type Behavior

你能解释一下为什么这段代码会产生这个结果吗?

var person = new { name = "George", age = 30};
WriteLine(person);

输出为:

{ name = "George", age = 30}

WriteLine(object) 隐式调用基础对象上的 ToString()。该方法是虚拟的,这意味着它可以被派生类型覆盖。

匿名类型覆盖 object.ToString 以显示它们的属性和值。编译器生成重写的方法,并且不能在编译时或 运行 时更改。