
C#高级篇
文章平均质量分 70
Lymon_z
本博客里的文章均是在网上学习后所做的笔记,并非原创,如有版权问题概不负责。
展开
-
string和StringBuilder
在之前我们简单的介绍了string字符串的一些操作方法,有一点要知道的是,当我们修改string字符串时,实质上我们是在堆内存里,重新开辟了一个内存空间,将修改完的字符串放进去,再引用到这块内存,旧的内存空间则被GC回收。如果我们需要频繁地修改字符串,那这种重复开辟内存的方法就会影响效率,所以我们有个StringBuilder类,也能够创建一个字符串,但是用法和string不同StringBuild原创 2017-09-28 10:31:59 · 262 阅读 · 0 评论 -
委托
在前面我们说过委托的定义和作用,它可以指向有返回值和参数的方法。 在C#中,系统内置(预定义)了两个委托类型,分别是Action委托和Func委托,这两个委托类型可以满足编程中大部分需求,不需要我们自己去定义新的委托类型。Action委托:它可以指向一个没有返回值,没有参数的方法。但是它可以通过泛型来指向一个没有返回值,但是有参数的方法,最多支持有16个参数的方法。 Action委托示例:cla原创 2017-10-04 11:24:14 · 350 阅读 · 0 评论 -
委托的应用——通用冒泡排序
学习过数据结构和算法的,都知道冒泡排序是如何实现的,它是从最前面两个数开始比较,如果前面的数比后面的大,就交换位置,以此类推,使数据完成从小到大的排序。但是在实际应用中,不可能是只给你一些整型的数据来让你排序,可能是给你一个类,里面有很多属性,我们需要根据其中的一个属性的大小来排序,所以我们需要使用委托,来进行数据的排序。我们可以举个最简单的的例子,假如在一个公司里有很多员工,我们需要根据他们的工资原创 2017-10-09 16:25:19 · 574 阅读 · 1 评论 -
匿名方法、Lambda表达式和事件
匿名方法在前面我们知道委托可以指向一个或多个方法,当有一个方法只需要用一次并且很简短,例如:static int Test1(int arg1,int arg2) { return arg1 + arg2; }//使用委托指向这个方法static void Main(string[] args) { F原创 2017-10-09 17:12:14 · 473 阅读 · 0 评论 -
正则表达式
正则表达式是计算机科学的一个重要概念,它使用一种数学算法来解决计算机程序中的文本检索、匹配等问题,正则表达式语言是一种专门用于字符串处理的语言,在很多语言中都提供了对它的支持。 正则表达式的作用:检索:通过正则表达式,从字符串中获取我们想要的部分匹配:判断给定的字符串是否符合正则表达式的过滤逻辑 所以我们可以认为正则表达式表述了一个字符串的书写规则。正则表达式的书写规则:正则表达式是由普通原创 2017-10-02 14:45:26 · 294 阅读 · 0 评论 -
LINQ集合操作
LINQ是一个用于操作集合的语法,它能够查询一个集合里的字段,并且能够分组、排序,除此之外还有其他的功能。它的语法规则和SQL语言非常相似。在一个集合中,我们想要得到集合里满足特定条件下的集合,通常情况下我们会用foreach循环来获取里面的集合。 首先我们先定义两个集合//武林高手集合class MartialArtsMaster { public int Id { g原创 2017-10-19 10:37:53 · 1781 阅读 · 0 评论 -
特性和反射
特性特性(Attribute)是用于在运行时传递程序中各种元素(比如类、方法、结构、枚举、组件等)的行为信息的声明性标签。我们可以通过使用特性向程序添加声明性信息。一个声明性标签是通过放置在它所应用的元素前面的方括号([ ])来描述的。 特性(Attribute)用于添加元数据,如编译器指令和注释、描述、方法、类等其他信息。.Net 框架提供了两种类型的特性:预定义特性和自定义特性。元数据是什么?原创 2017-10-19 23:02:58 · 443 阅读 · 0 评论 -
观察者设计模式——猫捉老鼠
观察者设计模式通过猫捉老鼠这个例子来弄清楚委托和事件并且对他们的用途有更深的认识。 在这里,猫是被观察者,老鼠是观察者。当观察者发生动作时,观察者对应的就会有相应的动作,比如猫开始移动了,老鼠就相应地都逃跑了。又比如在游戏中,被观察者是一个开始按钮,当它被点击的时候,观察者(美术资源、音乐资源、场景资源等)就会开始加载。猫捉老鼠首先我们定义一个Cat类class Cat {原创 2017-10-12 11:18:43 · 2410 阅读 · 0 评论 -
线程与任务
线程线程与进程的区别: 进程:是计算机中已运行的实体。在面向线程设计的系统(当代多数系统)中,进程本身不是基本运行单位,而是线程的容器。线程:是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。也是独立调度和分派的基本单位。一个进程可以由多个线程辅助执行。开启线程的三种方原创 2017-11-05 15:45:35 · 809 阅读 · 0 评论