摘要:
今天在转换数据的时候,需要把数据库中的二进制图片数据转换为图片保存,思路是将数据库的数据读取到byte[]中,然后通过Image.FromStream保存到IList<image>再做统一的处理。但是当对imageList做统一处理时要保存图片的时候一直提示“非一般性的GDI错误”。MSDN: 在 Image 的生存期内,必须使流保持打开。 发现把对imageList的处理部分放到MemoryStream的using块中就不会有错误了。 imageByteList.ForEach((byteArray) => { using (MemoryStream memory = ne 阅读全文
摘要:
一.贪婪匹配、惰性匹配概述我们首先从字面意思上来理解一下贪婪匹配和惰性匹配 贪婪匹配(greedy):它会匹配尽可能多的字符。它首先看整个字符串,如果不匹配,对字符串进行收缩;遇到可能匹配的文本,停止收缩,对文本进行扩展,当发现匹配的文本时,它不着急将该匹配保存到匹配集合中,而是对文本继续扩展,直到无法继续匹配 或者 扩展完整个字符串,然后将前面最后一个符合匹配的文本(也是最长的)保存起来到匹配集合中。所以说它是贪婪的。找到匹配的之后还是继续查找,若找到不合适的则返回最后一个匹配合适的。惰性匹配(lazy):它会匹配尽可能少的字符,它从第一个字符开始找起,一旦符合条件,立刻保存到匹配集合中,然 阅读全文
摘要:
在上面一节讲到正则学习中讲到的是关于当个字符的匹配,如果想匹配一个很长的字符串中的若干个或者很多个字符,如果都用上面的单个字符匹配模式那将需要书写很长的正则表达式,列入在web的颜色判断中就需要这么写#[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]。这明显是违反DRY原则。对于多个字符的匹配正则有提供其他的可以解决的办法。一.匹配一个或者多个:在正则中,可以在单个字符比如"x",字符组"[a-d]",特定类型比如"\d",单个任意字符"."后面添加"+&q 阅读全文
摘要:
一.匹配单个字符: 1. "."可以匹配任意的单个字符,英文字母,数字,其还可以连续使用。如:".e.."匹配的字符串是e前面有任意一个字符,e后面有任意两个字符 如果想匹配元字符 "."则需要进行转义 "/."二.匹配字符词组: 1.上面介绍的"."能匹配任意单个字符,其匹配非常广泛,可是有时我们想匹配的单个字符是在某个特定范围内的,这时正则表达式就提供了字符组来解决这个问题。"[dt]"中括号似乎特殊的标记,用以划定属于组内的字符的界限,它表示要匹配d或者匹配t。2.在字 阅读全文