随笔分类 -  C#

摘要:(^(0[0-9]{2,3}\-)?([2-9][0-9]{6,7})+(\-[0-9]{1,4})?$)|(^((\(\d{3}\))|(\d{3}\-))?(1[358]\d{9})$)|(^86((\(\d{3}\))|(\d{3}\-))?(1[358]\d{9})$)|(^\+86((\(\d{3}\))|(\d{3}\-))?(1[358]\d{9})$)NND,忒长了 阅读全文
posted @ 2013-06-16 14:01 wangyafei_it 阅读(1072) 评论(0) 推荐(1)
摘要: 阅读全文
posted @ 2012-08-15 17:09 wangyafei_it 阅读(168) 评论(0) 推荐(0)
摘要:正则的小常识:* 表示有0个或者多个字符出现在前一个字符或者子表达式。例子: a*b 则匹配"aab"或者仅仅是"b".+ 表示有0个或者多个字符出现在前一个字符或者子表达式.例子: a+b 则匹配"aab"或者"aaaab".( ) 将一个子表达式进行归类作为一个单一的项. 例子: (ab)+ 则匹配 "ab" 或者 "ababab".{m} 需要m次的重复一个字符或者一个子表达式. 例子: a{3}则匹配 aaa.{m, n} 需要n到m次的重复一个字符或者一个子表达式. 阅读全文
posted @ 2012-01-03 13:07 wangyafei_it 阅读(596) 评论(0) 推荐(0)
摘要:本文旨在介绍一种简单的发送邮件的方法:发送邮件需要三步走:一、配置web.config中的邮件服务属性二、在程序中动态读取配置的服务信息三、编写实现发送邮件的代码打开web.config在configuration节点中加入以下代码(此处是以163邮箱为例),host为邮箱服务器的地址,port为2... 阅读全文
posted @ 2011-10-20 22:59 wangyafei_it 阅读(513) 评论(0) 推荐(0)
摘要:在C#中有4类Timer,分别如下:1.System.Windows.Forms.Timer,顾名思义该Timer是Winform中的一个控件,可以拖放到窗体之上,设置它的Interval属性和Tick事件即可,同时要设置Enable为true(启用,另外该Timer属于UI级别的,即执行该Timer会造成UI阻塞。2.System.Timers.Timer,该线程是通过Thread Pool来完成的,和UI不是一个线程的,所以不用担心阻塞的情况,该Timer和System.Thread.Timer非常类似都是通过Thread Pool,但是该Timer的初次触发事件是在设定的Interval 阅读全文
posted @ 2011-10-20 21:30 wangyafei_it 阅读(1075) 评论(0) 推荐(0)
摘要:复制就可以用了红色和粉红色,以及它们的16进制代码。#990033#CC6699#FF6699#FF3366#993366#CC0066#CC0033#FF0066#FF0033..#CC3399..#FF3399#FF9999#FF99CC#FF0099#CC3366#FF66CC#FF33CC#FFCCFF#FF99FF#FF00CC紫红色,以及它们的16进制代码。#FF66FF#CC33CC#CC00FF#FF33FF#CC99FF#9900CC#FF00FF#CC66FF#990099#CC0099#CC33FF#CC99CC#990066#993399#CC66CC#CC00CC#6 阅读全文
posted @ 2011-10-11 11:55 wangyafei_it 阅读(1047) 评论(0) 推荐(0)
摘要:C#中的Substring接收两个参数,第一个就是要截取的字符串的开始索引,第二个参数是要截取的长度,这个方法要注意一点,这个方法截取的字符串是包括开始索引对应的字符串的。例子:string s = "Test AB 你好:CDEFGHIJKLMNOPQRST"; s=s.Substring(1,s.IndexOf("t"));返回的结果是 "est",没错,开始索引指定的是 1,那就找索引为1 的字符,就是e,指定的长度是字符t的长度,默认匹配第一个出现的字符的所以,t的索引为3,故截取长度为3. s.Substring(s.Ind 阅读全文
posted @ 2011-10-10 22:45 wangyafei_it 阅读(323) 评论(0) 推荐(0)
摘要:结构和类的区别,这个问题被说了好多次,归根只有一点本质区别,就是结构Struct是值类型,类Class是引用类型,他们的基类都是Object。经常听到有人说 结构不用new实例化可以直接使用,的确是这样的,这样的话得保证在初始化字段之前,字段必须是未赋值的,这样才可以直接使用。另外,结构不能继承自其它的类或者接口,同时自己也不能被继承,因为结构是隐式的密封类。 阅读全文
posted @ 2011-10-08 19:47 wangyafei_it 阅读(234) 评论(0) 推荐(0)
摘要:dataItem.EquipName = dataObject.EquipName.Select(o => o.ToString()).ToArray<string>();这里的dataItem.EquipName 是String[], dataObject.EquipName是Object[],想要解决这个,就使用了Linq的扩展方法Select 将一个个对象转换成Stirng类型(也可以是自己的热议类型),然后再调用转换方法,就这么简单. 阅读全文
posted @ 2011-09-23 10:58 wangyafei_it 阅读(3182) 评论(0) 推荐(0)
摘要:今天突然用到了二进制,无奈学习一下。顾名思义,逢二进一,下面来看个例子,比如将 235转换为二进制该怎么做呢?首先将 235/2=127 余1那么我们的 二进制现在得到一个1 127/2=63 余1那么我们的二进制又得到一个1 63/2= 31 余1那么我们的二进制又得到一个1 31/2=15 余1那么我们的二进制又得到一个1 15/2=7 余1那么我们的二进制又得到一个1 7/2=3 余1那么我们的二进制又得到一个1 3/2=1 余1那么我们的二进制又得到一个1 当商数为1的时候则不用再进行除,至此,我们的二进制数已经得到了就是 1111111是不是有点理解了, 没错,二进制的做法就是使用1 阅读全文
posted @ 2011-09-21 21:45 wangyafei_it 阅读(500) 评论(0) 推荐(0)
摘要:Type type = dataItem.GetType();object obj=type.GetProperty("Id").GetValue(dataItem,null);这里的dataItem是任意的实体对象,Id为dataItem的一个属性,不过是用了字符串形式表示,切记在GetValue时候必须把当前对象给穿进去,否则是不知道得到哪个对象的值的。 阅读全文
posted @ 2011-09-19 09:19 wangyafei_it 阅读(653) 评论(0) 推荐(0)