LINQ创建复合匿名类型

时间:2021-04-16

  只有在用于定义复合类型时(即没有“传统的”类定义的那些类),匿名类型才能真正发挥它的作用。匿名类型的这种用法可以用来定义联类(无需任何类型化定义)。下面示例中所给出的匿名类型定义了一个轻量级的人物类。

  示例 含有连个字段和两个属性的匿名类型,程序员无需编写完整的类型定义代码

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

namespace ImmutableAnonymousTypes
{
class Program
{
static void Main(string[] args)
{
var dena=new {First="Dena",Last="Swanson"};
//dena.First="Christine";//error - immutable
Console.WriteLine(dena);
Console.ReadLine();
}
}
}

  var dena开头的那行代码所定义的匿名类型将在MSIL中发出一个类(也称为一个投影)。虽然该投影的名称(即类名)不能在代码中引用,不过成员元素(由成员声明器First和Last定义)在代码中则是可以使用的,而且智能感知技术对该投影的所有元素都是有效的。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章