扩展方法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. ...
随机推荐
- 大数据时代之hadoop(三):hadoop数据流(生命周期)
了解hadoop,首先就需要先了解hadoop的数据流,就像了解servlet的生命周期似的.hadoop是一个分布式存储(hdfs)和分布式计算框架(mapreduce),但是hadoop也有一个很 ...
- JavaEE 配置文件 应用首选项存储
JavaEE 配置文件 应用首选项存储 @author ixenos 什么是首选项? 首选项Preferences 指配置信息 首选项存储就是指对配置信息的存储 有什么方式存储? 有两种,一种存于 ...
- Python之深浅拷贝&函数
一.深浅拷贝 深浅拷贝是指copy模块下的copy()和deepcopy()方法. 1.浅拷贝 示例: >>> import copy >>> a = 'hello ...
- JVM基础(3)-多态性实现机制
一.方法解析 Class 文件的编译过程中不包含传统编译中的连接步骤,一切方法调用在 Class 文件里面存储的都只是符号引用,而不是方法在实际运行时内存布局中的入口地址. 因此,想要使用这些符号引用 ...
- [转]整理jquery开发技巧
1.创建一个嵌套的过滤器 1.$(jquery).filter(":not(:has(.selected))") //去掉所有不包含class为.selected的元素 2.使 ...
- $each $position $sort $slice
$push 向数组中添加元素 $each 循环数据(循环添加数据到数组) $sort 对数组进行排序(1:升序:-1:降序.) $slice 对整个collection表进行数据裁减,用的时候一定要当 ...
- chapter 13_0 元方法
通常,Lua中的每个值都有一套预定义的操作集合. 例如:可以将数字相加.可以连接字符串.可以在table中插入一对key-value等. 但是无法将两个table相加,无法对函数作比较,或无法调用一个 ...
- MySQL性能优化(来源于简书)
1.为查询优化你的查询 大多数的MySQL服务器都开启了查询缓存.这是提高性最有效的方法之一,而且这是被MySQL的数据库引擎处理的.当有很多相同的查询被执行了多次的时候,这些查询结果会被放到一个缓存 ...
- json 与entity/list/map的转换
一 json -> entity User.java package com.xxx.hotel.train.json.json2entity; import java.io.Serializ ...
- php 链接 sqlserver 2005以上版本数据库
<?php /** * 数据库管理 * * @author wangaibo168@163.com * @charset utf-8 * 不支持sqlserver2005(包括)以下的版本 */ ...