如题,“扩展方法where方法查询不到数据,不会抛异常,也不是返回的null”,示例代码如下:

Product类:

 public class Product
{
private string name; public string Name
{
get { return name; }
set { name = value; }
} private double price; public double Price
{
get { return price; }
set { price = value; }
} public override string ToString()
{
return string.Format("{0}:{1}", Name, Price);
}
}

Main函数:

 static void Main(string[] args)
{
Console.WriteLine("验证where方法查询不到数据,不会抛异常,也不是返回的null。");
Console.WriteLine(); List<Product> list = new List<Product>
{
new Product{Name="三文鱼",Price=205.5},
new Product{Name="鲫鱼",Price=15.5},
new Product{Name="秋刀鱼",Price=},
new Product{Name="猪肉",Price=18.5},
new Product{Name="牛肉",Price=70.5},
new Product{Name="驴肉",Price=}
};
Console.WriteLine("------------FindAll方法(单价大于30的商品)-----------");
list.FindAll(p => p.Price > ).ForEach(Console.WriteLine);
Console.WriteLine(); Console.WriteLine("------------Where方法(单价大于30的商品)-----------");
foreach (var item in list.Where(p=>p.Price>))
{
Console.WriteLine(item);
}
Console.WriteLine(); //验证where方法查询不到数据,不会抛异常,也不是返回的null
Console.WriteLine("------------Where方法(单价大于30000的商品)---------");
var num=list.Where(p => p.Price > ).Count();
Console.WriteLine("有{0}个单价大于30000的商品。",num);
Console.ReadKey();
}

假如 list.Where(p => p.Price > 30000)  返回null,则list.Where(p => p.Price > 30000).Count()会抛异常。

事实上代码正确地运行了,即验证了:

扩展方法where方法查询不到数据,不会抛异常,也不是返回的null

运行截图如下:

扩展方法where方法查询不到数据,不会抛异常,也不是返回的null的更多相关文章

  1. SQL数据库查询一列数据返回一行

    SQL:数据库合并列数据:遇到一个更新的问题 想要把查询到的数据某一列拼接成字符串形式返回用的是SQL数据库中的STUFF函数比如 查询到的表(u_College)如下Id Name Age Clas ...

  2. 扩展Exception,增加判断Exception是否为SQL引用约束异常方法!

    在设计数据表时,如果将某些列设置为关联其它表的外键,那么如果对其进行增加.修改操作时,其关联表若没有相匹配的记录则报错,或者在对其关联表进行删除时,也会报错,这就是外键约束的作用,当然除了外键还有许多 ...

  3. Asp.Net 中Grid详解两种方法使用LigerUI加载数据库数据填充数据分页

    1.关于LigerUI: LigerUI 是基于jQuery 的UI框架,其核心设计目标是快速开发.使用简单.功能强大.轻量级.易扩展.简单而又强大,致力于快速打造Web前端界面解决方案,可以应用于. ...

  4. Kotlin(2): 优雅地扩展类的方法和属性

    欢迎Follow我的GitHub, 关注我的CSDN. 个人博客: http://www.wangchenlong.org/, 最新内容. Kotlin由JetBrains公司推出, 是兼容Java的 ...

  5. Ubuntu 16.04 安装opencv的各种方法(含opencv contrib扩展包安装方法)

    Ubuntu 16.04 安装opencv的各种方法(含opencv contrib扩展包安装方法) https://blog.csdn.net/ksws0292756/article/details ...

  6. 最新解决Chrome(版本76.0.3809.100) “请停用以开发者模式运行的扩展程序”的方法

    最新解决Chrome(版本76.0.3809.100) “请停用以开发者模式运行的扩展程序”的方法 最近在远景论坛上发现了最新的解决Chrome浏览器提示:请停用以开发者模式运行的扩展程序的问题.该方 ...

  7. SQLSever语句(增、删、改、查)一、增:有4种方法1.使用insert插入单行数据

    SQL语句(增.删.改.查) 一.增:有4种方法 1.使用insert插入单行数据: 语法:insert [into] <表名> [列名] values <列值> 例:inse ...

  8. 扩展Unity的方法

    写更少代码的需求 当我们重复写一些繁杂的代码,或C#的一些方法,我们就想能不能有更便捷的方法呢?当然在unity中,我们对它进行扩展. 对unity的类或C#的类进行扩展有以下两点要注意: 1.这个类 ...

  9. 使用getJSON()方法异步加载JSON格式数据

    使用getJSON()方法异步加载JSON格式数据 使用getJSON()方法可以通过Ajax异步请求的方式,获取服务器中的数组,并对获取的数据进行解析,显示在页面中,它的调用格式为: jQuery. ...

随机推荐

  1. Servlet图片上传

    package com.servlet; import java.io.DataInputStream; import java.io.FileOutputStream; import java.io ...

  2. setsockopt()用法(参数详细说明)(转)

    nt setsockopt(SOCKET s,int level,int optname,const char* optval,int optlen); s(套接字): 指向一个打开的套接口描述字le ...

  3. ATL opengl

    #include <atlbase.h> #include <atlwin.h> #include <gl/glew.h> #include <gl/GL.h ...

  4. delphi怎么实现全选的功能

    1. SelectAll 可以实现全选功能 Delphi/Pascal code edit1.SelectAll; // Delphi/Pascal code RichEdit1.SelStart:= ...

  5. sqlite 学习

    到谷歌上搜sqlite,第一项便是官方网站:www.sqlite.org.进去后,先了解一下大体,感觉还不错. 进入Document页面,大标题SQLite Programming Interface ...

  6. 一把刀终极配置 For XP v2.0 免费绿色版

    软件名称: 一把刀终极配置 For XP 软件语言: 简体中文 授权方式: 免费软件 运行环境: WinXP 软件大小: 924KB 图片预览: 软件简介: 一把刀终极配置 For XP,用于快速方便 ...

  7. 常用JS调试工具使用方法,帮你快速定位问题(Firebug+ IE“开发人员工具”)

    来源: 这里花了点时间小结了下目前项目中比较合适易于上手的JS调试工具.方法.优点与不足以及一些调试相关功能要点或策略,分享给同学们,只当抛砖引玉了,欢迎大家讨论补充. 一.Firebug:如果项目可 ...

  8. php 分页类(3)

    <?php class Page { private $total; //总记录 private $pagesize; //每页显示多少条 private $limit; //limit pri ...

  9. Android Development HandBook-Android Studio 特别篇

    开发准备中http://www.cnblogs.com/dev2007/p/4059829.html 主要介绍了基础环境的搭建,开发工具主要是Eclipse,由于Android Studio使用越来越 ...

  10. Apriori算法-位运算-C语言

    原文地址:http://blog.csdn.net/liema2000/article/details/6118423 //////////////////////////////////////// ...