光脚丫学LINQ(002):筛选数据

视频演示:http://u.115.com/file/f2cf72dc9e


也许最常用的查询操作是应用布尔表达式形式的筛选器。此筛选器使查询只返回那些表达式结果为 true 的元素。使用 where 子句生成结果。实际上,筛选器指定从源序列中排除哪些元素。在下面的示例中,只返回那些地址位于伦敦的 customers。

NorthwindDataContext db = new NorthwindDataContext();   
  
var LondonCustomers = from Customer in db.Customers   
                      where Customer.City == "London"  
                      select Customer;   
  
foreach (var Customer in LondonCustomers)   
{   
    Console.WriteLine("---------------------");   
    Console.WriteLine("Customer ID : {0}", Customer.CustomerID);   
    Console.WriteLine("Customer Name : {0}", Customer.ContactName);   
    Console.WriteLine("City : {0}", Customer.City);   
}  
NorthwindDataContext db = new NorthwindDataContext();

var LondonCustomers = from Customer in db.Customers
                      where Customer.City == "London"
                      select Customer;

foreach (var Customer in LondonCustomers)
{
    Console.WriteLine("---------------------");
    Console.WriteLine("Customer ID : {0}", Customer.CustomerID);
    Console.WriteLine("Customer Name : {0}", Customer.ContactName);
    Console.WriteLine("City : {0}", Customer.City);
}

 

您可以使用熟悉的 C# 逻辑 ANDOR 运算符来根据需要在 where 子句中应用任意数量的筛选表达式。例如,若要只返回位于“伦敦”AND 姓名为“Thomas Hardy”的客户,您应编写下面的代码:

var LondonCustomers = from Customer in db.Customers   
                      where Customer.City == "London" && Customer.ContactName == "Thomas Hardy"  
                      select Customer;  
var LondonCustomers = from Customer in db.Customers
                      where Customer.City == "London" && Customer.ContactName == "Thomas Hardy"
                      select Customer; 


若要返回位于伦敦或巴黎的客户,您应编写下面的代码:

var LondonCustomers = from Customer in db.Customers   
                      where Customer.City == "London" || Customer.City == "Paris"  
                      select Customer;  

转载于:https://www.cnblogs.com/GJYSK/archive/2010/10/28/1863789.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值