美文网首页
举例说明C#的匿名类型的使用

举例说明C#的匿名类型的使用

作者: 目标肢解 | 来源:发表于2016-06-11 23:35 被阅读0次

匿名类型的特性

首先让我们看一个例子, 假设我们并没有Person类, 并且我们关心的属性只有Name和Age. 下面的代码演示了我们如何在没有声明类型的情况下来构建一个对象的:

1: var tom = new { Name = Tom, Age = 4 };

2: var holly = new { Name = Holly, Age = 31 };

3: var jon = new { Name = Jon, Age = 31 };

4: Console.WriteLine({0} is {1} years old, jon.Name, jon.Age);

匿名类型是由编译器创建并其包含在编译后的Assembly当中, 其方式与匿名方法和iterator block的创建方式是一致的. CRL把它们都当成普通的类型, 实际上他们就是普通的类型——如果你将其从匿名类型更改成为一个普通类型, 并且手工编写所有行为的代码, 我们不会看到有任何的改变. 匿名类型包含以下的成员:

一个负责所有初始化值的构造器, 其参数将会是与匿名对象初始化器当中出现的顺序和类型一致, 同样名称也是一样的.

公共只读的属性

私有的只读字段, 用于支持属性

重载了Equals, GetHashCode和ToString

这就是全部了, 没有实现任何借口, 没有克隆和序列化能力——仅仅是一个构造器, 一些属性和几个来自于object的平常的方法.

相关文章

  • 举例说明C#的匿名类型的使用

    匿名类型的特性 首先让我们看一个例子, 假设我们并没有Person类, 并且我们关心的属性只有Name和Age. ...

  • C#中的匿名类型

    ​ 在一个项目中遇到了一个关于匿名类型的坑 在C#中的匿名类型是这样创建的: 而这些匿名类型的属性是inter...

  • C#匿名类型

    我们会花费很多的时间为数据表示创建一些简单的类,尤其是在数据库应用程序中。经常会有一系列的类只提供属性。这些类什么...

  • C#匿名函数

    在 2.0 之前的 C# 版本中,声明委托的唯一方式是使用命名方法。 C# 2.0 引入匿名方法,在 C# 3.0...

  • iOS基础之block

    1.block类型-存储代码块的类型 在异步编程时常需要进行函数回调,在C#中会用匿名委托或者lambda表达式讲...

  • 【runoob.13】对象表达式和对象声明

    匿名对象 请注意,匿名对象可以用作只在本地和私有作用域中声明的类型。如果你使用匿名对象作为公有函数的 返回类型或者...

  • Java 泛型

    java泛型与C#类似,不过必须使用引用类型,不能使用基础类型(int等等),基础类型有相应的封装,比如int,封...

  • C#

    C#语言 语法知识 is 检查一个类型是否兼容另一个类型 返回 bool值 lambda 说简单一点,就是一个匿名...

  • 知识整理

    C#语言 语法知识 is 检查一个类型是否兼容另一个类型 返回 bool值 lambda 说简单一点,就是一个匿名...

  • 09.匿名内部类的概述和格式

    匿名内部类 A:作用:匿名内部类是创建某个类型子类对象的快捷方式。 B:格式: 代码演示 使用匿名对象的方式,将定...

网友评论

      本文标题:举例说明C#的匿名类型的使用

      本文链接:https://www.haomeiwen.com/subject/gincdttx.html