我正在学习C#中的匿名类型,我已经明白如何定义和使用它们.以下是我为匿名类型尝试的示例代码.
var myType = new { Name = "Yasser",City = "Mumbai" }; Console.WriteLine("Name: {0},Type: {1}",myType.Name,myType.City);
我的问题
在现实世界的情况下,这些将被使用?任何人都可以给我一个可以使用这些匿名类型的例子或场景.
解决方法
LINQ查询使用它们很多:
var productQuery = from prod in products select new { prod.Color,prod.Price };
{prod.Color,prod.Price}是一个匿名类型,具有只读颜色和价格属性.如果您将遍历该查询的结果,您可以将该类型用作任何其他类:
foreach (var v in productQuery) { Console.WriteLine("Color={0},Price={1}",v.Color,v.Price); }
换句话说,你不必定义一个看起来像这样的新类:
public class ColoredPricedItem { public Color {get;} public Price {get;} }
更多的颜色和价格类型可以从您的查询中被正确地推断出来.