zoukankan      html  css  js  c++  java
  • 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};
    }
  • 相关阅读:
    Redis分布式锁的实现原理
    Redis锁的简单应用
    Redis所需内存 超过可用内存怎么办
    redis学习笔记之虚拟内存
    组织安全性SQL
    应收发票相关脚本
    用户与职责与请求关系语句
    应收事物处理删除 SQL 语句
    总账库存科目明细追溯
    月结各模块关闭情况查询
  • 原文地址:https://www.cnblogs.com/gc2013/p/3844618.html
Copyright © 2011-2022 走看看