匿名类型Study

匿名类型

定义:匿名类型提供了一种方便的方法,可用来将一组只读属性封装到单个对象中,而无需首先显式定义一个类型。

需要注意的是

要将匿名类型或包含匿名类型的集合作为参数传递给某一方法,可将参数作为类型对象进行声明。 但是,这样做会使强类型化作用无效。 如果必须存储查询结果或者必须将查询结果传递到方法边界外部,请考虑使用普通的命名结构或类而不是匿名类型。

匿名类型与任何其他引用类型没有什么不同,

唯一区别在于匿名类型无法强制转换为除 object 以外的任何类型。

由于匿名类型上的 EqualsGetHashCode 方法是根据方法属性的 Equals 和 GetHashcode 定义的,因此仅当同一匿名类型的两个实例的所有属性都相等时,这两个实例才相等。

代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Test
{
    class Program
    {
        static void Main(string[] args)
        {
            var ClassName=new{  name = "小明" , sum = 23 };
                Console.WriteLine("姓名{0}年龄{1}",ClassName.name,ClassName.sum );
        }
    }
}
原文地址:https://www.cnblogs.com/zhangyq/p/2363458.html