c#匿名类 anonymous学习_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > c#匿名类 anonymous学习

c#匿名类 anonymous学习

 2014/7/16 11:33:03  GC2013  程序员俱乐部  我要评论(0)
  • 摘要:感谢http://blog.csdn.net/jjx0224/article/details/5887589感谢http://hi.baidu.com/guodong828/blog/item/cc53404ef40af002b3de0500.htmlc#匿名类上代码:usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;namespaceConsoleApplication1{///<
  • 标签:C# 学习

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

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

 

  c# 匿名类 上代码:

 

 

    class="dp-c" style="font: 14px/26px Consolas, 'Courier New', Courier, mono, serif; margin: 0px 0px 1px 45px !important; padding: 0px; text-align: left; color: #5c5c5c; text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; font-size-adjust: none; font-stretch: normal; background-color: #e7e5dc; -webkit-text-stroke-width: 0px;">
  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};
}
发表评论
用户名: 匿名