匿名类型

1.匿名类型其实也是比较好理解的,顾名思义匿名类型是没有类型定义的类型。这种类型是由编辑器自动生成的,仅限于当前上下文使用。

(1)源起

创建一个对象,一定要先定义这个对象的类型吗?

不一定的!

(2)使用

1
2
3
4
5
6
7
var Student1 = new { Name = "王清培", Age = 24, Sex = "男", Address = "江苏淮安" };
var Student2 = new { Name = "陈玉和", Age = 23, Sex = "女", Address = "江苏盐城" };
 
var obj = new {Guid.Empty, myTitle = "匿名类型", myOtherParam = new int[] { 1, 2, 3, 4 } };
Console.WriteLine(obj.Empty);//另一个对象的属性名字,被原封不动的拷贝到匿名对象中来了。
Console.WriteLine(obj.myTitle);
Console.ReadKey();

new关键字之后就直接为对象定义了属性,并且为这些属性赋值

而且,对象创建出来之后,在创建对象的方法中,还可以畅通无阻的访问对象的属性

当把一个对象的属性拷贝到匿名对象中时,可以不用显示的指定属性的名字,这时原始属性的名字会被“拷贝”到匿名对象中

(3)注意    

如果你监视变量obj,你会发现,obj的类型是Anonymous Type类型的

不要试图在创建匿名对象的方法外面去访问对象的属性!

(4)优点

这个特性在网站开发中,序列化和反序列化JSON对象时很有用

posted @   ~沐风  阅读(253)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现

喜欢请打赏

扫描二维码打赏

了解更多

点击右上角即可分享
微信分享提示