c#中如何使用到模糊查询,先举个最简单实用的例子,可在vs控制台应用程序中输出:

定义实体类:

 public class Student
        {
            public int ID { get; set; }
            public string Name { get; set; }
            public int? Age { get; set; }
            public string Sex { get; set; }
        }
 
为实体类赋值存放到集合list中:
 List<Student> lsStudent = new List<Student>(){
                new Student { ID = 1,Name = "1", Age = 128, Sex = null },
                new Student { ID = 2, Name = "2", Age = 18, Sex = "女" },
                new Student { ID = 3, Name = "31", Age = 13, Sex = "男" },
                new Student { ID = 4, Name = "4", Age = 23, Sex = "男" },
                new Student { ID = 5, Name = "51", Age = null, Sex = "女" },
                new Student { ID = 6, Name = "6", Age = null, Sex = "女" },
                new Student { ID = 7, Name = "7", Age = null, Sex = "女" }
            };
模糊查询条件:根据Name=1或者Sex=女模糊查询
   string key = "1";
   string sex = "女";
  方法一:linq
   List<Student> resultList = (from c in lsStudent where  c.Name.Contains(key) ||c.Sex.Contains(sex) select c).ToList();
  知识讲解
  1,Contains("key"),---意义等同于ql server中的like '%key%',从两端模糊匹配
  2,StartsWith("key"),---意义等同于sql server中的like 'key%',从开头模糊匹配
  3,EndsWith("key"),---意义等同于sql server中的like '%key',从结尾模糊匹配
 
 方法二
   List<Student> resultList = lsStudent.Where(str => str.Name.Contains(key) || str.Sex.Contains(key)).ToList();
 
  方法三
   List<Student> resultList = (from c in lsStudent where c.Name.IndexOf(key)>=0 ||c.Sex.IndexOf(sex)>=0 select c).ToList();
  知识讲解
  1,c.Name.IndexOf(key)>=0 ---意义等同于 like '%key%',从两端模糊匹配
  2,c.Name.StartsWith(key) ---等同于like 'key%' ,从开头模糊匹配
  3,c.Name.EndWith(key) ---等同于like '%key',从结尾模糊匹配
  vs控制台输出打印代码:
 
  string json = JsonConvert.SerializeObject(resultList, Newtonsoft.Json.Formatting.Indented);
  Console.WriteLine(json);

c#中如何使用到模糊查询的更多相关文章

  1. 对一个表中所有列数据模糊查询adoquery

    如何用adoquery对一个表中所有列进行模糊查询: procedure TForm3.Button4Click(Sender: TObject); var ASql,AKey: string; I: ...

  2. [转]ORACLE中Like与Instr模糊查询性能大比拼

    instr(title,'手册')>0  相当于  title like '%手册%' instr(title,'手册')=1  相当于  title like '手册%' instr(titl ...

  3. SQL中对日期进行模糊查询的方法

    在我们通过SQL语句对数据库中的数据进行查询时,难免会遇到针对datetime的查询,但是因为一般情况下,输入的时间条件为年月日,所以,这种情况下,我们就要进行一下模糊查询,首先,摒弃一种投机取巧的方 ...

  4. ext.net中ComboBox空间实现模糊查询

    ComboBox中的属性添加Mode="Local"可以实现第一个字的模糊查询但是搜索中间的字无法实现 现提供一下方法使用正则表达式实现全模糊查询 <ext:ComboBox ...

  5. mybatis中使用mysql的模糊查询字符串拼接(like)

    方法一: <!-- 根据hid,hanme,grade,模糊查询医院信息--> 方法一: List<Hospital> getHospitalLike(@Param(" ...

  6. vue+vuex项目中怎么实现input模糊查询

    1,首先给input框添加方法,但是用的是element-ui的组件,对input进行了封装,不能直接用原生的方法!,在element组件中,input框中方法有实例参数$event,代表事件对象  ...

  7. 关于mybatis中sql映射文件模糊查询的使用

    1.从前台传递一个String类型的参数到后台进行查询,如果牵涉到模糊查询会报错,应该把参数封装到对象中再进行传递然后进行模糊查询 2.一个查询框,多个查询条件 <if test="c ...

  8. mybatis的xml中特殊转义字符和模糊查询like的写法

    做个备忘: xml特殊符号转义写法 <          < >          > <>   <> &      & &ap ...

  9. Oracle 数据库中在使用中文模糊查询时输入中文查询不到结果的解决方法

    添加环境变量 变量名:NLS_LANG 变量值:SIMPLIFIED CHINESE_CHINA.ZHS16GBK

随机推荐

  1. FPGA学习笔记(七)——FSM(Finite State Machine,有限状态机)设计

    FPGA设计中,最重要的设计思想就是状态机的设计思想!状态机的本质就是对具有逻辑顺序和时序规律的事件的一种描述方法,它有三个要素:状态.输入.输出:状态也叫做状态变量(比如可以用电机的不同转速作为状态 ...

  2. 从零单排学Redis【黄金】

    前言 只有光头才能变强 好的,今天我们要上黄金段位了,如果还没经历过青铜和白银阶段的,可以先去蹭蹭经验再回来: 从零单排学Redis[青铜] 从零单排学Redis[白银] 看过相关Redis基础的同学 ...

  3. Java基础练习1(数据类型转换)

    1.下列代码的输出结果是:()(单选) public static void main(String[] args){ double money = 3.0; money -= 2.9; System ...

  4. 小程序 wepy框架 + iview-weapp的用法

    最近在弄wepy的时候在想有没有什么ui比较合适一点的wepy的,也是在网上看了好久发现iview还不错.引用简单,上手超快,组件绚丽!当然,这里还介绍下微信官方建议的框架也是和不错的,有需要的可以看 ...

  5. cesium 之图层管理器篇(附源码下载)

    前言 cesium 官网的api文档介绍地址cesium官网api,里面详细的介绍 cesium 各个类的介绍,还有就是在线例子:cesium 官网在线例子,这个也是学习 cesium 的好素材. 内 ...

  6. 解决Error:All flavors must now belong to a named flavor dimension. Learn more at...

    低版本的gradle里面不会出现这个错误,高版本出现,不多说,看如何解决 在defaultConfig{}中添加:flavorDimensions "default" 保证所有的f ...

  7. sqlite数据库如何远程连接?

    sqlite数据库如何远程连接代码如下:QSqlDatabase db =QSqlDatabase::addDatabase("QSQLITE"); db.setHostName( ...

  8. python3 树莓派 + usb摄像头 做颜色识别 二维码识别

    今天又啥也没干 我完蛋了哦  就是没办法沉下心来,咋办....还是先来条NLP吧.. 七,凡事必有至少三个解决方法 对事情只有一个方法的人,必陷入困境,因为别无选择. 对事情有两个方法的人也陷入困境, ...

  9. 多标签分类的结果评估---macro-average和micro-average介绍

    一,多分类的混淆矩阵 多分类混淆矩阵是二分类混淆矩阵的扩展 祭出代码,画线的那两行就是关键啦: 二,查看多分类的评估报告 祭出代码,使用了classicfication_report() 三,宏平均与 ...

  10. Node.js 事件循环机制

    Node.js 采用事件驱动和异步 I/O 的方式,实现了一个单线程.高并发的 JavaScript 运行时环境,而单线程就意味着同一时间只能做一件事,那么 Node.js 如何通过单线程来实现高并发 ...