c#匿名类
何谓匿名类,其实本质和普通定义的类一样,只不过是由系统的编译器来完成的,首先举个例子。
一般情况
//声明一个类,包含贴别多的字段 public class Person() { public string Name{set;ge;} public int Age{set;get;} . . . . . } //实例化和初始化 Person person=new Person(); person.Name="喜羊羊"; person.Age="懒洋洋"; 。 。 。 。
可以看出,当字段特别多的时候,太麻烦了,所以c#3.0提供了匿名类。语法是 var 名字=new {字段赋值};
其中var在c#中和在javascript中是不同的,c#中只是作为推断,根据赋值推断出类型,隐式类型 var。 隐式类型的本地变量是强类型变量(就好像您已经声明该类型一样),但由编译器确定类型。
1)var类型的值必须是局部变量或静态变量
2)var变量在声明之前必须被初始化
3)变量的值不能为null(这样编译器就不能判断类型了)
4)var变量不能为一个方法或方法组
5)不能用来声明参数类型
javascript中var类型不做判断,什么类型都可以,这个变量是什么类型的(比如String,int,double等)不做严格的限定。
//匿名类;声明一个类#3.0,相当于把类初始化和对象声明放在一起 var news = new { title="特大喜讯",author="夕阳眼",postdate="3013-10-9",msg="今晚公布"};
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人