new {}(不带[])的含义是什么?

时间:2018-11-22 18:04:24

标签: c# testing nunit

我正在上课时在NUnit上做一个类似的研究项目,我们的老师写了这个测试:

[Test]
    public void ObjectLiteralIsAnObject ()
    {
        Assert.AreEqual (true, new { } is Object);
    }

我知道new [] {}的含义,给定您在{}之间插入的值,它会创建具有最佳可分配类型的数组。但是new {}有什么作用?是一样的还是有小的区别?

非常感谢您,如果这是一个愚蠢的问题,对不起!

1 个答案:

答案 0 :(得分:2)

new { }

用于创建匿名对象,即未命名的对象。

它通常在LINQ查询中使用,例如:

var query =
    from c in db.Customers
    select new
    {
        c.CustomerId,
        c.CustomerName
    };

这将创建具有两个属性的匿名类型的IQueryableCustomerIdCustomerName