首页 > 学院 > 开发设计 > 正文

c#匿名类 anonymous学习

2019-11-17 02:59:50
字体:
来源:转载
供稿:网友
c#匿名类 anonymous学习

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

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

c# 匿名类 上代码:

  1. usingSystem;
  2. usingSystem.Collections.Generic;
  3. usingSystem.Linq;
  4. usingSystem.Text;
  5. namespaceConsoleapplication1
  6. {
  7. ///<summary>
  8. ///作者:it小金
  9. ///作用:匿名类型的使用
  10. ///说明:var关键字,用于表示隐式类型化的变量。var与new关键字一起使用时,可以创建匿名类型。
  11. ///</summary>
  12. classPRogram
  13. {
  14. staticvoidMain(string[]args)
  15. {
  16. vara=new{name="it小金",age=24};//匿名类型只是一个继承了Object的、没有名称的类。该类的定义从初始化器中推断,类似于隐式类型化的变量。
  17. //a.name="hh";这是错误的,不能对属性进行赋值,因为name是a中的一个属性,且它为只读的
  18. stringb=a.name.ToString();
  19. intc=a.age;
  20. Console.WriteLine(b);
  21. Console.WriteLine(c);
  22. Console.Read();
  23. }
  24. }
  25. }
用到匿名类,难免碰到匿名类转换问题,上代码:
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};}

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表