标签:
一.课堂内容
首先延续上节课的结尾,又讲了关于正则表达式的内容,以及c#中的exceptions相关的知识,以及delegates中文翻译为委托,以及c#的时间events,还有两个关于Windows phone app开发的视频教程。正则表达式就不用多说了,这光光拉出去都是一门值得深究的课程,关于events线程啊什么的,不管是在c++还是java中都是让我头疼的内容,关于Windows phone app的开发只能说非常有意思,但是感觉还是动手实践会学的比较快,可惜我的虚拟机就是不争气,还在解决这个问题中。。。
二.学习内容
我就章老师上课给我们留下的四个博客内容进行了相关内容的学习。如下。
1.Regex类的相关用法。
首先要运用regex类(regex就是regular expression的缩写),要先申明命名空间:
接下来是几个regex类的基本用处:
这里是regex的静态方法,当然还有实例的方法
这里是简单的在字符串中寻找匹配字符,用到了IsMatch这个方法。
还有:
这边的Replace方法就是在字符串中找到目标部分并替换。
接下来就比较难一点了:
这里是用正则表达式在查找字符串中重复的词语再进行操作。这里有很多我都不大理解,比如正则表达式本身,就是@后面引号里的部分,不懂,
以上是几个比较简单的元字符。
还有matchcollection,groupcollection,以及group[“word”],这个。。。不理解。。。具体的区别用法不太明白。大概是把匹配得到的字符串收纳如matchcollection,然后用groupcollection来表示具体内部的每一组,每一个match的内容?
还有这个,也好厉害的样子:
算了吧= =
下面这个例子:
关于为什么结果里面没有显示string,我可以理解为string后面没有空格,不符合正则表达式的描述吗?
2.关于把ip,mailaddress,website,time分门别类从元数据中劫取出来这个问题。ppt上给了关于site,time,ip的获取的例子,我想着加一下关于mailaddress邮箱的获取方式,如下:
然后我感觉把一切都搞乱了,关于mailaddress判定方式的正则表达式是我在网上找的,网上有很多表达式,应该都有道理吧,然后我不明白的是,是怎么做到group["time"]之类的东西的???
一开始以为是这样:
模仿其他三个加了?<mailaddress>以为是正则表达式的命名。。。然后错了。。。
3.然后是async await关键字。
先放一点我找到的相关内容:
由于关于这两个关键字的内容非常多,我理解起来也好有难度。总之async await是c#5.0中加入的来实现异步任务的关键字吧,这边异步任务也不是真正的异步线程什么的,她有点类似数据库的搜索什么的,当你在用到它的时候,他才会启动吧。。。
然后有以下例子:
这里要注意,上述代码中main函数中最后一行代码console.readline();很重要,因为没有那句代码,将不会有异步执行2、3、4……,因为还没等到异步任务执行完,main函数就结束了,所以要等待,这样可以帮助理解把,就想并行的两个任务,异步执行,不需要等待来顺次的进行,所以不会有卡顿阻塞之类的吧。
这只是async,await非常非常简单的用法,只是皮毛。。。
4.关于tryparse,parse。
这个是在变量进行变量类型转换的时候出现的,tryparse比parse显然多了一个try,就会得到不同的效果,
如上解释,我感觉还是比较容易理解的。
5.此外,我对delegates的内容做了个小练习,delegates是类似与其他语言中的函数的指针,功能比较强大吧。
网上找了一些例子,如下:
上面的例子中,用delegateMethod这个指针顺次指向了三个简单的函数,通过指针来访问调用函数方法,可以直接用+=这种运算符,比较奇特。
三.课后感想
越来越难,越来越复杂了啊啊啊啊啊!
Go ahead!
标签:
原文地址:http://www.cnblogs.com/blueContra/p/4443147.html