一个例子帮你搞懂C#语言高级特性系列(04) --- 匿名类型

有时候你可能需要定义类来封装一些数据,但并不需要任何方法、事件和其他自定义的功能。或者说你需要定义一个只是用于当前程序的临时类型,在这种情况下,匿名类型将会派上用场。请看下面的代码:

using System;

namespace Com.LoonStudio {

	class Program {
		static void Main() {
			// 定义匿名类型
			var car1 = new { Brand = "Benz", MaxSpeed = 200 };
			var car2 = new { Brand = "Benz", MaxSpeed = 200 };
			Console.WriteLine(car1.Equals(car2));	// true(基于值的语义进行比较)
			Console.WriteLine(car1 == car2);		// false
			Console.WriteLine(car1.GetType() == car2.GetType());	// true
			Console.WriteLine(car1.GetType().Name);	// <>f__AnonymouseType0`2
			Console.WriteLine(car1.ToString());		// { Brand = Benz, MaxSpeed = 200 }

			// 包含匿名类型的匿名类型
			var person = new {
						Name = "Hao", RegDate = DateTime.Now, 
						Car = new {Brand = "Benz", MaxSpeed = 200}
			};
			Console.WriteLine(person.Car.Brand);	// Benz
			Console.WriteLine(person);	// { Name = Hao, RegDate = 2013/12/6 23:12:17, Car = { Brand = Benz, MaxSpeed = 200 } }
		}
	}
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值