Linq操作ArrayList

ArrayList实现了System.Collections空间下的IEnumerable接口,这个接口是非泛型的。如果要使用LINQ,必须声明枚举变量的类型,依赖Cast查询运算符转换枚举类型。

using System;using System.Collections;using System.Collections.Generic;using System.Data;using System.IO;using System.Linq;namespace ConsoleApp4{    class Program    {        static void Main(string[] args)        {            var arrayList = GetArrayList();            //查询表达式            var query = from Student student in arrayList                        where student.Scores[0] > 95                        select student;            //方法调用            var query2 = arrayList.Cast<Student>().Where(x => x.Scores[0] > 95);        }        static ArrayList GetArrayList()        {            ArrayList arrList = new ArrayList { new Student                {                    FirstName = "Svetlana",                    LastName = "Omelchenko",                    Scores = new int[] { 98, 92, 81, 60 }                }, new Student                {                    FirstName = "Claire",                    LastName = "O’Donnell",                    Scores = new int[] { 75, 84, 91, 39 }                }, new Student                {                    FirstName = "Claire",                    LastName = "O’Donnell",                    Scores = new int[] { 75, 84, 91, 39 }                },new Student                {                    FirstName = "Cesar",                    LastName = "Garcia",                    Scores = new int[] { 97, 89, 85, 82 }                }};            return arrList;        }    }    public class Student    {        public string FirstName { get; set; }        public string LastName { get; set; }        public int[] Scores { get; set; }    }}
(0)

相关推荐