1.多参数

判断 条件

 //判断
var fileKey = new
{
DateStart = search.DateStart.IsNull(), //关开始时间
DateEnd = search.DateEnd.IsNull(), //结束时间
UserName = search.UserName.IsNullOrEmpty(), //用户名
NickName = search.NickName.IsNullOrEmpty(), //昵称
PhoneNumber = search.PhoneNumber.IsNullOrEmpty(), //电话号码
ProblemCatey = search.ProblemCatey.IsNullOrEmpty(), //问题种类
};

IsNull()  和 IsNullOrEmpry() 是扩展静态方法:

  /// <summary>
/// 验证字符串是否为空字符串
/// </summary>
/// <param name="self"></param>
/// <returns></returns>
public static bool IsNullOrEmpty(this string self)
{
if (self == null || self.Length == 0)
{
return true;
}
return false;
}

使用如下

            //查询
var list =
from p in
unitOfWork.FeedBack.Get(p => (fileKey.ProblemCatey || p.ProblemCatey.Contains(search.ProblemCatey)))
join m in unitOfWork.Member.Get() on p.UserID equals m.Id where fileKey.UserName || m.UserName.Contains(search.UserName)
where fileKey.NickName || m.NickName.Contains(search.NickName)
where fileKey.PhoneNumber || m.PhoneNumber.Contains(search.PhoneNumber) where fileKey.DateStart || p.CreatedOn >= search.DateStart
where fileKey.DateEnd || p.CreatedOn <= search.DateEnd select new FeedBackModelExd
{
Id = p.Id,
ProblemCatey = p.ProblemCatey,
CreatedOn = p.CreatedOn,
UserName = m.UserName,
NickName = m.NickName,
PhoneNumber = m.PhoneNumber,
Content = p.Content,
};

2.单一参数

改造前

private static bool TraditionalVerify(int number)
{
if ((number > 0) && (number >= 10) && (number % 2 > 0) && (number * 2 > 100))
{
return true;
}
return false;
}

改造后:

 private static bool UseFunc(int number)
{
var conditionlist = new List<Func<bool>>()
{
() => number > 0,
() => number >= 10,
() => number % 2 > 0,
() => number * 2 > 100
}; return conditionlist.TrueForAll(foo => foo.Invoke());
}

.NET的语法优化的更多相关文章

  1. 数据库 | SQL语法优化方法及实例详解

    使用复合索引 如果经常执行如上查询,那么建立三个单独索引不如建立一个复合索引,因为三个单独索引通常数据库每次执行只能使用其中一个,虽然这样比不使用索引而进行全表扫描提高了很多效率,但使用复合索引因为索 ...

  2. 常用CSS优化总结——网络性能与语法性能建议

    在前端面试中最常见的问题就是页面优化和缓存(貌似也是页面优化),被问了几次后心虚的不行,平然平时多少会用到一些,但突然问我,很难把自己知道的都说出来.页面优化明显不是一两句能够说完的,这两天总结了一下 ...

  3. (转)常用CSS优化总结——网络性能与语法性能建议

    原文地址:http://www.cnblogs.com/dolphinX/p/3508657.html 在前端面试中最常见的问题就是页面优化和缓存(貌似也是页面优化),被问了几次后心虚的不行,平然平时 ...

  4. JavaScript性能优化

    如今主流浏览器都在比拼JavaScript引擎的执行速度,但最终都会达到一个理论极限,即无限接近编译后程序执行速度. 这种情况下决定程序速度的另一个重要因素就是代码本身. 在这里我们会分门别类的介绍J ...

  5. 数据库访问性能优化 Oracle

    特别说明: 1.  本文只是面对数据库应用开发的程序员,不适合专业DBA,DBA在数据库性能优化方面需要了解更多的知识: 2.  本文许多示例及概念是基于Oracle数据库描述,对于其它关系型数据库也 ...

  6. Swift3.0P1 语法指南——闭包

    原档:https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programmi ...

  7. Oracle优化的方法

    想做到数据库优化的高手,不是花几周,几个月就能达到的,这并不是因为数据库优化有多高深,而是因为要做好优化一方面需要有非常好的技术功底,对操作系统.存储硬件网络.数据库原理等方面有比较扎实的基础知识,另 ...

  8. css优化篇

    平时总说如何如何优化,今天就详细的写一下css如何优化,嘿嘿. 首先,CSS的优化工作主要从两个方面着手 网络性能:把CSS写到字节数最少,加快下载速度,自然可以让页面渲染的更快一些 语法性能:同样都 ...

  9. Swift3.0相对于2.3语法的一些变化

    前言 : Swift3.0的Swift的第3个主要版本,目标是安全,快速和有表现力,也是第一个有开源社区参与开发的Swift版本.由于语法和API改动比较多,Xcode 8.0 Beta提供了migr ...

随机推荐

  1. Runner之记计账项目的典型用户分析

  2. jQuery 2.0.3 源码分析 Deferrred概念

    转载http://www.cnblogs.com/aaronjs/p/3348569.html JavaScript编程几乎总是伴随着异步操作,传统的异步操作会在操作完成之后,使用回调函数传回结果,而 ...

  3. Thread 总结

    进程:是一个正在执行的程序 每一个进程执行都有一个执行顺序.该顺序是一个执行路劲,后者叫一个控制单元. 线程:就是进程中的一个独立控制单元. 线程在控制着进程的执行 一个进程中至少有个一个线程 Jav ...

  4. 查看Linux硬件配置信息

    在网上找了N久,发现了一篇不错的文档,转载一下: 1.查看机器所有硬件信息: dmidecode |more dmesg |more 这2个命令出来的信息都非常多,所以建议后面使用"|mor ...

  5. jQuery Easing动画效果扩展(转)

    jQuery API提供了简单的动画效果如淡入淡出以及自定义动画效果,而今天我给大家分享的是一款jQuery动画效果扩展增强插件jquery.easing.js,使用该插件可以实现直线匀速运功.变加速 ...

  6. jquery.query.js 插件的用法

    转载自:http://www.cnblogs.com/dachie/archive/2010/09/16/1827840.html 代码如下: var url = location.search; & ...

  7. MVC1-5直接访问静态页面

    MVC模式下默认是无法访问站点内静态页面,昨日百度找了半天试了半天才试成功. 默认在Views文件外的静态页面可以访问,若要访问Views里的静态页面则需要修改View文件夹中的web.config: ...

  8. VS构建工具介绍

    VS构建工具介绍 我们都知道C/C++源代码要生成可执行的.exe程序,需要经过编译.链接的过程.你在VS工具中只需要选择菜单Build或按一下F5可以编译.链接.运行了,其实IDE帮我隐藏了好多的具 ...

  9. kindeditor 操作时同步到textarea

    KindEditor.ready(function(K) { editor1 = K.create('textarea[name="sponsor"]', { resizeType ...

  10. XPATH 带命名空间数据的读取

    在XML中,很多情况下有命名空间,如果直接使用XPATH 读取是会读到空节点. 解决办法如下: InputStream is=loader.getResourceAsStream("com/ ...