首页 > 解决方案 > 当一个对象在没有类型的情况下初始化时,它叫什么?

问题描述

我只遇到过几次,我还没有完全理解它,但我觉得有必要研究一下幕后到底发生了什么。

我认识到它正在创建一个对象的新实例,但尚未指定类型。

var myObject = new {
    SomeProperty = "ABC",
    SomeOtherProperty = true
};

var当您换成objector时,它也有效dynamic。但是,考虑到这一点,我真的找不到它的名字来研究它。我相信它被称为 a pseudo-classorpseudo-object但我找不到任何实际文档。

我已经对该主题进行了几次 Google 搜索(这是最新的),甚至查看了一些相关的 SO 帖子(这里是关于初始化的帖子),但我仍然没有找到答案。


这实际上叫什么?

标签: c#language-features

解决方案


它称为匿名类型,并直接实例化。

匿名类型的实例化

要创建匿名类型的实例,请使用 new 运算符和对象初始化器语法:

var example = new { Greeting = "Hello", Name = "World" };
Console.WriteLine($"{example.Greeting}, {example.Name}!");

推荐阅读