扩展方法where方法查询不到数据,不会抛异常,也不是返回的null
如题,“扩展方法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的更多相关文章
- SQL数据库查询一列数据返回一行
SQL:数据库合并列数据:遇到一个更新的问题 想要把查询到的数据某一列拼接成字符串形式返回用的是SQL数据库中的STUFF函数比如 查询到的表(u_College)如下Id Name Age Clas ...
- 扩展Exception,增加判断Exception是否为SQL引用约束异常方法!
在设计数据表时,如果将某些列设置为关联其它表的外键,那么如果对其进行增加.修改操作时,其关联表若没有相匹配的记录则报错,或者在对其关联表进行删除时,也会报错,这就是外键约束的作用,当然除了外键还有许多 ...
- Asp.Net 中Grid详解两种方法使用LigerUI加载数据库数据填充数据分页
1.关于LigerUI: LigerUI 是基于jQuery 的UI框架,其核心设计目标是快速开发.使用简单.功能强大.轻量级.易扩展.简单而又强大,致力于快速打造Web前端界面解决方案,可以应用于. ...
- Kotlin(2): 优雅地扩展类的方法和属性
欢迎Follow我的GitHub, 关注我的CSDN. 个人博客: http://www.wangchenlong.org/, 最新内容. Kotlin由JetBrains公司推出, 是兼容Java的 ...
- Ubuntu 16.04 安装opencv的各种方法(含opencv contrib扩展包安装方法)
Ubuntu 16.04 安装opencv的各种方法(含opencv contrib扩展包安装方法) https://blog.csdn.net/ksws0292756/article/details ...
- 最新解决Chrome(版本76.0.3809.100) “请停用以开发者模式运行的扩展程序”的方法
最新解决Chrome(版本76.0.3809.100) “请停用以开发者模式运行的扩展程序”的方法 最近在远景论坛上发现了最新的解决Chrome浏览器提示:请停用以开发者模式运行的扩展程序的问题.该方 ...
- SQLSever语句(增、删、改、查)一、增:有4种方法1.使用insert插入单行数据
SQL语句(增.删.改.查) 一.增:有4种方法 1.使用insert插入单行数据: 语法:insert [into] <表名> [列名] values <列值> 例:inse ...
- 扩展Unity的方法
写更少代码的需求 当我们重复写一些繁杂的代码,或C#的一些方法,我们就想能不能有更便捷的方法呢?当然在unity中,我们对它进行扩展. 对unity的类或C#的类进行扩展有以下两点要注意: 1.这个类 ...
- 使用getJSON()方法异步加载JSON格式数据
使用getJSON()方法异步加载JSON格式数据 使用getJSON()方法可以通过Ajax异步请求的方式,获取服务器中的数组,并对获取的数据进行解析,显示在页面中,它的调用格式为: jQuery. ...
随机推荐
- html中的js监听付款按钮--触发ajax调用php后台--得到的json数据---交给安卓原生处理
//01 var pay_status = new Object();$(".sure_pay").on("touchstart",function(){ va ...
- onkeyup事件
当用户释放键盘按钮时执行Javascript代码. 上代码: <input type="text" id="frame" onkeyup="my ...
- Oberon相关资源
http://www.michaelfranz.com/ http://en.wikipedia.org/wiki/Oberon_(programming_language) http://www.o ...
- Java 容器一些知识
一.Collection 1.static 方法: Collections.sort(List<T>):实现List排序功能 Collections.fill(List<T> ...
- wuzhi 五指 基本知识
参数:m 模块 在于 /coreframe/app/模块文件夹 |默认 content f php文件 控制器 在于/coreframe/app/模块 /文件.php | 默认 index v ...
- Chapter 14_4 使用_ENV
因为_ENV是一个普通的变量,我们可以像其他变量一样去对它进行赋值和访问. _ENV = nil 上面的赋值操作,将会使得在它之后的代码块不能直接访问全局变量.不过,对控制你的代码所使用的变量有用处. ...
- chapter 12_2 保存无环的table
保存table有几种方法,选用哪种方法取决于对table的结构作出了哪些限制性的假设 第一个方法: function serialize(o) if type(o) == "number&q ...
- CentOS中文件夹基本操作命令
摘自:http://www.centoscn.com/CentOS/help/2013/1024/1967.html 文件(夹)查看类命令 ls--显示指定目录下内容 说明:ls 显示结果以不同的颜色 ...
- C# 二维数组和集合
本次课我主要学习了二维数组和集合的部分内容. 在二维数组的部分中,我主要学习了二维数组的定义方法:int [,] array=new int [4,2];做了一个小练习:用二维数组打印自己的姓氏. s ...
- Linux使用期间命令积累
1.调出终端 Ctrl+Alt+t 2.sudo是linux系统管理指令,是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具,如halt,reboot,su等等. sudo apt-g ...