感谢http://hi.baidu.com/guodong828/blog/item/cc53404ef40af002b3de0500.html
c# 匿名类 上代码:
1. using
2. using
3. using
4. using
5.
6. namespace
7. {
8. /// <summary>
9. /// 作者:it小金
10. /// 作用:匿名类型的使用
11. /// 说明:var 关键字,用于表示隐式类型化的变量。var 与new 关键字一起使用时,可以创建匿名类型。
12. /// </summary>
13. class
14. {
15. static void Main(string[] args)
16. {
17. new { name = "it小金", age = 24 };//匿名类型只是一个继承了Object 的、没有名称的类。该类的定义从初始化器中推断,类似于隐式类型化的变量。
18. //a.name="hh";这是错误的,不能对属性进行赋值,因为name是a中的一个属性,且它为只读的
19. string
20. int
21. Console.WriteLine(b);
22. Console.WriteLine(c);
23. Console.Read();
24. }
25. }
26. }
用到匿名类,难免碰到匿名类转换问题,上代码:
public T CastAnonymous<T>(object anonymous, T anonymousType)
{
return (T)anonymous;
}
class User
{
public string Name { get; set; }
}
public static void Main()
{
var u = new User{ Name = "Lucifer" };
var a = new { a = 26, Name = u.Name, b = false };
Print(a);
}
public void Print(object anonymous)
{
var a = CastAnonymous(anonymous, new { a=0, Name = "", b = false });
Console.WriteLine{"{0} - {1} - {2}", a.a, a.Name, a.b};
}
标签:Console,Name,c#,匿名,anonymous,var,new From: https://blog.51cto.com/u_2465818/6209744