小问题【5】

匿名类型:

    是又编译器动态生成的数据类型,而不是通过显式的定义来生命的。

示例代码:

    static void Main()
    {
      var patent1 = new
      {
        Title = "p1 title",  //不用也不能声明类型
        Year = "1000"
      };
      var patent2 = new
      {
        Title = "p2 title",  //三个的类型是一样的
        Year = "2000"
      };
      var patent3 = new
      {
        patent1.Title,
        Year = patent1.Year
      };

      Console.WriteLine(patent1.GetType()==patent2.GetType()); //True
      Console.WriteLine(patent1); //显示: { Title = "p1 title", Year = "2000" }
      Console.ReadKey();
    }

IDE的“智能感知”功能可以正确支持匿名类型。

在没有明确指定名称的前提下,会默认使用字段或属性的名称,如patent3的Title。

一般情况下应该尽量避免使用匿名类型,甚至避免使用var来指定隐式类型的变量。

原文地址:https://www.cnblogs.com/wouldguan/p/2406616.html