使用LINQ查询非泛型类型
原文地址:http://www.cnblogs.com/buzz/archive/2009/04/23/1442159.html
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Web.UI;
using System.Web;
using System.Threading;
using System.Globalization;
using System.Data;
using System.Collections;
namespace ConsoleApplication1
{
class Program
     {
         public class Cars
         {
             public string CarMake { get; set; }
             public string CarModel { get; set; }
             public int Year { get; set; }
         }
         
         public static void Main()
         {
             ArrayList carList = new ArrayList();
             carList.Add(new Cars
             {
                 CarMake = "BMW",
                 CarModel = "BMW Art",
                 Year = 1978
             });
             carList.Add(new Cars
             {
                 CarMake = "BMW",
                 CarModel = "Coupe",
                 Year = 1982
             });
             carList.Add(new Cars
             {
                 CarMake = "Renault",
                 CarModel = "Alpine",
                 Year = 1972
             });
             carList.Add(new Cars
             {
                 CarMake = "Porsche",
                 CarModel = "Maisto",
                 Year = 1976
             });
var cc = from Cars car in carList
                      where car.CarMake == "BMW"
                      select car;
var cc1 = from car in carList.Cast<Cars>()
                       where car.CarMake == "BMW"
                       select car;
var cc2 = from car in carList.OfType<Cars>()
                       where car.CarMake == "BMW"
                       select car;
foreach (Cars c in cc)
             {
                 Console.WriteLine(c.CarMake + "-" + c.CarModel);
             }
Console.ReadLine();
         }
     }
}
使用LINQ查询非泛型类型的更多相关文章
- Linq查询非泛型集合要指定Student类型(比如List)
		#region Linq to 集合查询非泛型集合要指定Student类型 //ArrayList list = new ArrayList(); //li ... 
- LINQ学习系列-----3.1 查询非泛型集合
		一.问题起源 LINQ to object在设计时,是配合IEnumerable<T>接口的泛型集合类型使用的,例如字典.数组.List<T>等,但是对于继承了IEnumera ... 
- LINQ学习系列-----3.1 查询非泛型集合和多个分组
		一.查询非泛型集合 1.问题起源 LINQ to object在设计时,是配合IEnumerable<T>接口的泛型集合类型使用的,例如字典.数组.List<T>等,但是对于继 ... 
- Entity Framework 6 Recipes 2nd Edition(13-6)译 ->  自动编译的LINQ查询
		问题 你想为多次用到的查询提高性能,而且你不想添加额外的编码或配置. 解决方案 假设你有如Figure 13-8 所示的模型 Figure 13-8. A model with an Associat ... 
- C#基础:LINQ 查询函数整理
		1.LINQ 函数 1.1.查询结果过滤 :where() Enumerable.Where() 是LINQ 中使用最多的函数,大多数都要针对集合对象进行过滤,因此Where()在LINQ 的操作 ... 
- 《Entity Framework 6 Recipes》中文翻译系列 (26) ------ 第五章 加载实体和导航属性之延缓加载关联实体和在别的LINQ查询操作中使用Include()方法
		翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 5-7 在别的LINQ查询操作中使用Include()方法 问题 你有一个LINQ ... 
- .NET LINQ查询操作中的类型关系
		LINQ 查询操作中的类型关系 若要有效编写查询,您应该了解完整的查询操作中的变量类型是如何全部彼此关联的. 如果您了解这些关系,就能够更容易地理解文档中的 LINQ 示例和代码示例. 另外 ... 
- .NET LINQ查询语法与方法语法
		LINQ 查询语法与方法语法 通过使用 C# 3.0 中引入的声明性查询语法,介绍性 LINQ 文档中的多数查询都被编写为查询表达式. 但是,.NET 公共语言运行时 (CLR) 本身并不具 ... 
- [LINQ]查询关键字
		摘自https://msdn.microsoft.com/zh-cn/library/bb310804.aspx,方便以后翻阅. from子句 查询表达式必须以 from 子句开头.另外,查询表达式还 ... 
随机推荐
- QT是否流行还是和历史有关啊(各个平台不同时间的方案都讲到了)
			这个还是和历史有关啊..现在基于Qt的桌面软件越来越多的...许多GTK的也在向Qt迁移..可以说在XP时代,微软自己有一套MFC,和成熟的vs系列开发工具..而Qt-Creator是09左右才有项目 ... 
- C# ReferenceEquals(), static Equals(), instance Equals(), 和运算行符==之间的关系
			C#充许你同时创建值类型和引用类型.两个引用类型的变量在引用同一个对象时,它们是相等的,就像引用到对象的ID一样.两个值类型的变量在它们的类型和内容都是相同时,它们应该是相等的.这就是为什么相等测试要 ... 
- ant的入门 配置与安装
			最近需要用ant来生成文件,java类.我才开始了解了这个工具.仔细看了一下,感觉这个小工具的强大功能. 博主也是初学者,在网上收集了资料,尝试了配置:感觉有些高手写得不错变引用之. 配置如下: 以上 ... 
- 报LinkageError的原因
			LinkageError是一个比较棘手的异常,准确的说它是一个Error而不是Exception.java api对它没有直接的解释,而是介绍了它的子类: Subclasses of LinkageE ... 
- HDU 3308 LCIS(线段树单点更新区间合并)
			LCIS Given n integers. You have two operations: U A B: replace the Ath number by B. (index counting ... 
- Eight(South Central USA 1998)(八数码)                                                    分类:            bfs             2015-07-05 22:34    1人阅读    评论(0)    收藏
			The 15-puzzle has been around for over 100 years; even if you don't know it by that name, you've see ... 
- 对中级Linux 用户非常有用的20 个命令
			也许你已经发现第一篇文章非常的有用,这篇文章是继对初级Linux用户非常有用的20个命令的一个延伸. 第一篇文章的目的是为新手准备的而这篇文章则是为了Linux的中高级用户.在这里你将学会如何进行自定 ... 
- Java程序员面试题集(116-135)
			摘要:这一部分讲解基于Java的Web开发相关面试题,即便在Java走向没落的当下,基于Java的Web开发因为拥有非常成熟的解决方案,仍然被广泛应用.不管你的Web开发中是否使用框架,JSP和Ser ... 
- Android日语输入法Simeji使用示例
			MainActivity如下: package cn.testsimeji; import android.os.Bundle; import android.view.View; import an ... 
- 【C++第三课】---新的关键字
			一.动态分配内存的时的关键字 注意在C++中和C不一样的是,在C中使用的malloc来动态分配内存,而这个malloc只是标准C库的调用,所以这个不属于标准C的范畴,而在C++ 中却有真正的关键字来分 ... 
