由字符串处理引发的对.NET与C/C++的思考,该怎么解决
发布时间:2011-06-23 20:28:47 文章来源:www.iduyao.cn 采编人员:星星草
由字符串处理引发的对.NET与C/C++的思考
前段时间想简化一个对字符串进行处理的逻辑。
原来的逻辑是:从数据库中提取数据,以字符串的格式返回。
格式为“(总行数);(所提取列,以逗号分隔);(提取到的数据,列之间以逗号分隔,行之间以分号分隔)”
例如:“3;name,id;test1,1;test2,2;test3,3”等于
name id
test1 1
test2 2
test3 3
以前的处理方法是用公共方法将此字符串转换为ArrayList包含Hashtable的形式,但是我发现这种方式因为频繁转换导致效率很低,所以我想直接对字符串进行处理。
目前已经做到的是:1.提取指定列名对应的所有值;2.删除与指定值相匹配的所有行;
完成这个之后我想要对字符串的处理进行扩展一下比如:
1.从给定字符串中提取所有与指定内容相匹配的子字符串;---可以通过Regex实现
2.删除给定字符串中出现的所有与指定内容相匹配的子字符串,自动左对齐;
3.获取给定字符串中所有与指定内容相匹配的子字符串的索引;
4.提取给定字符串中所有出现的数字,以数字或者字符串形式返回;
这些都可以实现,只是我一直认为在.net上面开发就像是在火车上跑步,你可以跑的很快,但是你永远无法超过火车。
而C/C++开发呢,你可以是骑单车的小子,可以是小轿车司机,可以是火车车长,甚至可以使和谐号,波音7*7,可以是战斗机,可以是任何你能想到的东西。
鉴于此,我想用C/C++开发一个公共方法的dll,然后在.net中调用,虽然还是无法自由驰骋,至少可以在火车上跑得更快一些。
不知我这种想法可以吗?
------解决方案--------------------
呵呵
1.net自己处理字符串操作本身就是用c++写滴
2.只是因为lz的要求比较特殊,所以才觉着别扭
3.lz的要求往大了说是文法解析,往小了说是协议解析
4.即使是c++在文法解析和协议解析处理上都是相对比较特殊滴,都是根据协议本身自己去做特定处理滴。
5.当然文法解析这块在c++里不是没有通用引擎可以用,c++一般可以使用yacc,tex做文法解析定义
6.实际上net里也有通用文法解析引擎,比如irony
最后总结一下,lz这种规则没那么复杂的文本并没必要采用那么复杂的通用文法解析引擎完成,自己随便用简单的token定义一下规则即可,至于是用c++完成,还是用net完成都可以
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。
其他相似内容:
-
(VS2005)VB有关继承封装在DLL里窗体
公司里有一套自己的架构并把它封装在叫MFW的DLL里,再学习使用时发现了很多不明白的地方。例如:现...
-
如何让treeview点击结点不刷新页面?
如何让treeview点击结点不刷新页面?
------解决方案--------------------
帮你顶
------解决...
-
单薄的业务层
相信开发WEB信息的人都用到过三层架构
表示层--》业务层--》数据访问层
以前一直开发CS结构最近一年一直在开发...
-
类爆炸问题,对维护也是恶梦?
原意在ERP项目中有设计一个工序类用來描述工序:
public Process
{
public string ProcessNo
{
...
-
怎么实现随意变换网页字体?
想做个艺术签名的网站
字体也找了几个
就是在用户输入“名字”后
把“名字”转换成几个字体显示出来
...
-
关于政府部门网站数据库设计
今天上面安排让我做个政府有关部门的网站,我看了下不是很复杂。可到了设计数据库表时候碰到了些问题...
-
如何自动为录入的人员信息分配用户权限
我这里有两类人,一类是教师,一类是学生,要解决的问题是,在用管理员身份录入教师和学生信息时,...
-
Ext.Net 和ExtJS
现在在做一个项目,用到了EXT.NET 但是有个缺点就是EXT.NET里的时间选择器dateField不能选择时分秒,现在想到用EXTJ...
-
谁手里有现成的提示框样式啊,急用
谁手里有现成的提示框样式或者皮肤啊 还有弹出div层的好看一点的样式 给我个呗 我这急用呢 ...
-
求两个样式的例子...
一个是点击修改弹出修改表单表格 出现在列表上 要特别好看的那种 最好是悬浮的
一个 要弹出的确...