首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

c#匿名种 anonymous

2012-12-19 
c#匿名类 anonymous? ? 感谢http://blog.csdn.net/jjx0224/article/details/5887589?? ? 感谢http://hi.ba

c#匿名类 anonymous

? ? 感谢http://blog.csdn.net/jjx0224/article/details/5887589?

? ? 感谢http://hi.baidu.com/guodong828/blog/item/cc53404ef40af002b3de0500.html

?

? c# 匿名类 上代码:

?

  1. using?System;??
  2. using?System.Collections.Generic;??
  3. using?System.Linq;??
  4. using?System.Text;??
  5. ??
  6. namespace?ConsoleApplication1??
  7. {??
  8. ????///?<summary>??
  9. ????///?作者:it小金??
  10. ????///?作用:匿名类型的使用??
  11. ????///?说明:var?关键字,用于表示隐式类型化的变量。var?与new?关键字一起使用时,可以创建匿名类型。??
  12. ????///?</summary>??
  13. ????class?Program??
  14. ????{??
  15. ????????static?void?Main(string[]?args)??
  16. ????????{??
  17. ????????????var?a?=?new?{?name?=?"it小金",?age?=?24?};//匿名类型只是一个继承了Object?的、没有名称的类。该类的定义从初始化器中推断,类似于隐式类型化的变量。??
  18. ????????????//a.name="hh";这是错误的,不能对属性进行赋值,因为name是a中的一个属性,且它为只读的??
  19. ????????????string?b?=?a.name.ToString();??
  20. ????????????int?c?=?a.age;??
  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};}

热点排行