zoukankan      html  css  js  c++  java
  • LINQ 学习路程 -- 查询操作 Conversion Operators

    MethodDescription
    AsEnumerable Returns the input sequence as IEnumerable<t>
    AsQueryable Converts IEnumerable to IQueryable, to simulate a remote query provider
    Cast Coverts a non-generic collection to a generic collection (IEnumerable to IEnumerable<T>)
    OfType Filters a collection based on a specified type
    ToArray Converts a collection to an array
    ToDictionary Puts elements into a Dictionary based on key selector function
    ToList Converts collection to List
    ToLookup Groups elements into an Lookup<TKey,TElement>
    class Program
    {
    
        static void ReportTypeProperties<T>(T obj)
        {
            Console.WriteLine("Compile-time type: {0}", typeof(T).Name);
            Console.WriteLine("Actual type: {0}", obj.GetType().Name);
        }
    
        static void Main(string[] args)
        {
            Student[] studentArray = { 
                    new Student() { StudentID = 1, StudentName = "John", Age = 18 } ,
                    new Student() { StudentID = 2, StudentName = "Steve",  Age = 21 } ,
                    new Student() { StudentID = 3, StudentName = "Bill",  Age = 25 } ,
                    new Student() { StudentID = 4, StudentName = "Ram" , Age = 20 } ,
                    new Student() { StudentID = 5, StudentName = "Ron" , Age = 31 } ,
                };   
                
            ReportTypeProperties( studentArray);
            ReportTypeProperties(studentArray.AsEnumerable());
            ReportTypeProperties(studentArray.AsQueryable());   
        }
    }    




    Cast
    class Program
    {
    
        static void ReportTypeProperties<T>(T obj)
        {
            Console.WriteLine("Compile-time type: {0}", typeof(T).Name);
            Console.WriteLine("Actual type: {0}", obj.GetType().Name);
        }
    
        static void Main(string[] args)
        {
            Student[] studentArray = { 
                    new Student() { StudentID = 1, StudentName = "John", Age = 18 } ,
                    new Student() { StudentID = 2, StudentName = "Steve",  Age = 21 } ,
                    new Student() { StudentID = 3, StudentName = "Bill",  Age = 25 } ,
                    new Student() { StudentID = 4, StudentName = "Ram" , Age = 20 } ,
                    new Student() { StudentID = 5, StudentName = "Ron" , Age = 31 } ,
                };   
             
            ReportTypeProperties( studentArray);
            ReportTypeProperties(studentArray.Cast<Student>());
        }
    }      
     
    IList<string> strList = new List<string>() { 
                                                "One", 
                                                "Two", 
                                                "Three", 
                                                "Four", 
                                                "Three" 
                                                };
    
    string[] strArray = strList.ToArray<string>();// converts List to Array
    
    IList<string> list = strArray.ToList<string>(); // converts array into list










    IList<Student> studentList = new List<Student>() { 
                        new Student() { StudentID = 1, StudentName = "John", age = 18 } ,
                        new Student() { StudentID = 2, StudentName = "Steve",  age = 21 } ,
                        new Student() { StudentID = 3, StudentName = "Bill",  age = 18 } ,
                        new Student() { StudentID = 4, StudentName = "Ram" , age = 20 } ,
                        new Student() { StudentID = 5, StudentName = "Ron" , age = 21 } 
                    };
    
    //following converts list into dictionary where StudentId is a key
    IDictionary<int, Student> studentDict = 
                                    studentList.ToDictionary<Student, int>(s => s.StudentID); 
    
    foreach(var key in studentDict.Keys)
    	Console.WriteLine("Key: {0}, Value: {1}", 
                                    key, (studentDict[key] as Student).StudentName);
    
    
  • 相关阅读:
    ssh事务配置
    使用注解实现事务处理
    c3p0、dbcp<转>
    添加业务层和事务机制
    使用spring集成hibernate
    使用Adivisor配置增强处理
    aop注解
    Spring IoC实现解耦合
    python console的命令执行
    python格式化输出
  • 原文地址:https://www.cnblogs.com/lanpingwang/p/6608118.html
Copyright © 2011-2022 走看看