用C#实现基于查寻字符串的文件行查询器(1)-概述

原创 2005年06月01日 22:17:00
作者:yxin1322
http://blog.csdn.net/yxin1322
转载请注明出处

     第一次写blog,真是无从下笔,不知道写点什么好,正好前几天C#实验课做了一个基于查寻字符串的文件行查询器。由于程序涉及到的知识颇为丰富,所以将整个程序的设计和实现过程记录在此,算是一个总结。

     所谓文件行查询就是以文本文件的行作为查找单位,查询结果返回所有满足条件的行。

     所谓查询字符串,就是通过一个有格式的字符串来表明你将要查找的内容,格式字符串中可以使用三种逻辑运算符&&、||和! ,分别表示与、或、非运算,三种运算符的优先级别从高到低的顺序是!、$$、||,同时可以用括号来控制逻辑运算的结合顺序,如:

  • aaa :查找的含有关键字为aaa的行
  • aaa && bbb:查找同时含有aaa和bbb的行
  • aaa||bbb:查找含有aaa或bbb的行
  • !aaa:查找不含有aaa的行
  • !(aaa && bbb):查找不同时包含aaa和bbb的行

     毫无疑问,要实现查找,我们首先要解析出查询字符串,使程序能够按照各运算符的优先级依次结合查找。这里我选择最常用的逆波兰式来解析查询字符串,因为后置运算符的逆波兰式特别适合计算机处理表达式计算,同时逆波兰式不需要用括号来控制运算结合顺序。当查询字符串转换成逆波兰式后,就可以按照其特有的算法来进行查询操作了。对于查询操作,定义了相关类进行操作,我将在以后的章节里详细介绍。(未完...)

 

C# and VB.NET Code Searcher - Using Roslyn(使用Roslyn实现的C#和VB.Net的代码查询器)

Table of Contents IntroductionScreenshotThe problemBackground about RoslynThe solutionWhy would y...

linux命令行学习-dig(DNS查询器)

在web开发中,总要熟悉的就是http协议,而发起一个http开始前最先要经历的一个过程就是DNS解析。简单说就是域名如何最终解析到实际服务器ip的过程。 而在研究DNS解析和排除DNS解析类故障问...

在一个千万级的数据库查寻中,如何提高查询效率

在一个千万级的数据库查寻中,如何提高查询效率? 1)数据库设计方面:  a. 对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。  b....

在一个千万级的数据库查寻中,如何提高查询效率?

转载地址:http://blog.csdn.net/xlgen157387/article/details/44156679 1)数据库设计方面: a. 对查询进行优化,应尽量避免全表扫描,首...

在一个千万级的数据库查寻中,如何提高查询效率?

在一个千万级的数据库查寻中,如何提高查询效率?1)数据库设计方面: a. 对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 b. 应尽量避免...

在一个千万级的数据库查寻中,如何提高查询效率?

转载:https://mp.weixin.qq.com/s?__biz=MzI1NDQ3MjQxNA==&mid=2247483799&idx=1&sn=4a97af67bf0e9d36fb1a80a...

在一个千万级的数据库查寻中,如何提高查询效率?

在一个千万级的数据库查寻中,如何提高查询效率? 1)数据库设计方面:  a. 对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 b. ...

在一个千万级的数据库查寻中,如何提高查询效率?分别说出在数据库设计、SQL语句、java等层面的解决方案

1)数据库设计方面:  a. 对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。...

在一个千万级的数据库查寻中,如何提高查询效率?

1)数据库设计方面:  a、对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。  b、应尽量避免在 where 子句中对字段进...
  • lc0817
  • lc0817
  • 2016年12月30日 17:02
  • 560
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:用C#实现基于查寻字符串的文件行查询器(1)-概述
举报原因:
原因补充:

(最多只允许输入30个字)