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. java之多线程(Thread)

    package DEMO; //主线程 public class Example12_2 { public static void main(String [] args ) { Thread myd ...

  2. jquery通过ajax方法获取json数据不执行success

    1.jquery通过ajax方法获取json数据不执行success回调 问题描述:jquery通过ajax方法获取json数据不执行success回调方法 问题原因:json格式存在问题或不符合标准 ...

  3. 自定义Encoder/Decoder进行对象传递

    转载:http://blog.csdn.net/top_code/article/details/50901623 在上一篇文章中,我们使用Netty4本身自带的ObjectDecoder,Objec ...

  4. BZOJ3695 滑行

    转化模型就变成几层折射率不同的玻璃光要怎么走才能从(0, 0)到(x, y) 我们发现第一次光线射出去的角度确定,之后光的行程是确定的 而且角度和最后到达y时的x成正相关,于是可以二分! 然后物理学学 ...

  5. bash: sqlplus: command not found 解决方法

    在oracle用户下输入:sqlplus 抛出bash: sqlplus: command not found 解决办法: 在root用户下输入如下命令: ln -s $ORACLE_HOME/bin ...

  6. Future 模式介绍

    假设一个任务执行需要花费一些时间,为了省去不必要的等待时间,可以先获取一个提货单,即future,然后继续处理别的任务,知道货物到达,即任务完成得到结果,此时可以使用提货单提货,即通过future得到 ...

  7. 解决ACTIVITI流程图设置字体不生效的问题

    在ACTIVITI 5.15的版本中,有一个设置流程图的字体配置. 配置如下: <bean id="processEngineConfiguration" class=&qu ...

  8. Ganglia监控Hadoop集群的安装部署[转]

    Ganglia监控Hadoop集群的安装部署 一. 安装环境 Ubuntu server 12.04 安装gmetad的机器:192.168.52.105 安装gmond的机 器:192.168.52 ...

  9. mysql连接数据库p的大小写

    命令:mysql -uroot -p -hlocalhost -P3306 -h 用来指定远程主机的IP -P (大写) 用来指定远程主机MYAQL的绑定端口

  10. spring mvc设置字符集过滤器

    <filter> <filter-name>springEncoding</filter-name> <filter-class> org.spring ...