C#
C#
Jaihk662
这个作者很懒,什么都没留下…
展开
-
C#基础3:数组
PS:注释和讲解全在代码中1. 数组的定义/遍历注意C#的数组使用方式和C++略有不同using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace C4_程序设计{ class 数...原创 2018-12-02 13:58:56 · 353 阅读 · 0 评论 -
C#基础11.1:static关键字
PS:注释和讲解全部在代码中1. static关键字using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace C4_程序设计{ static class Land //...原创 2018-12-05 22:53:45 · 268 阅读 · 0 评论 -
C#基础11.2:单例设计模式
PS:注释和讲解全在代码中单例设计模式其实就是一个经典问题:如何设计只能有一个实例化的对象的类//其实C++也是用的基本一模一样的方法using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespac...原创 2018-12-05 23:26:34 · 266 阅读 · 0 评论 -
C#基础12:嵌套类、匿名类与密封类
PS:注释和讲解全在代码中1. 嵌套类、匿名类与密封类using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace C4_程序设计{ public enum Col { ...原创 2018-12-06 15:59:31 · 333 阅读 · 0 评论 -
C#基础12.1:Object类
PS:注释和讲解部分在代码中1. Object类问题提出:你实现了一个只有Print()这唯一方法的类,然后在实例化对象时发现了一个诡异的问题:为什么多出了这么多我并没有定义的方法?这是因为在C#中存在一个Object类,它是所有类的父类,所有的类都直接或者间接继承自Object类VS跳转入Object类的方法:选中object变量按F12即可结果如下:...原创 2018-12-06 16:43:35 · 441 阅读 · 0 评论 -
C#基础13:预编译指令
PS:注释和讲解全在代码中1. 预编译指令预编译指令也叫预处理指令,在程序正式编译之前执行这些指令不会转化为可执行代码中的命令,但是会影响编译过程的各个方面具体例子如代码:using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.T...原创 2018-12-06 17:05:11 · 662 阅读 · 1 评论 -
C#基础16:事件与观察者模式
前文:https://blog.csdn.net/Jaihk662/article/details/96895681(委托)一、事件与委托其实事件就是委托的一种升级版,和委托的不同如下:在原有的委托变量的基础上多一个 event 关键字,这个委托变量就称为事件; 在其它类中,事件只能使用 +=、-=来注册方法,而不能使用=为事件关联方法,相对于委托更加安全一个例子如下(...原创 2019-07-23 15:57:24 · 477 阅读 · 0 评论 -
C#基础14:泛型
一、泛型类为什么需要泛型:你可能并不能确定当前某个变量到底应该是什么类型,又或者说这个变量可以是任意一种类型 泛型的定义:简单来讲就是“任意一种类型” 泛型的应用:各种STL容器,Unity中的GetComponent<T>() 符号:<占位符1, 占位符2…>string.Format():C#归一化,将指定的String中的格式项替换为指定的 Ob...原创 2019-07-19 11:35:09 · 281 阅读 · 0 评论 -
C#基础17:匿名方法与Lambda表达式
前文:https://blog.csdn.net/Jaihk662/article/details/96895681(委托)一、匿名方法匿名方法:字面理解,没有名字(名字省略)的方法。在开发过程中,有些方法非常简单因此就根本没有必要专门定义成一个方法,从此就出现了匿名方法根据前文第二个例子“多播委托”,修改其代码,将其中的Add()方法换成匿名方法如下:using Syst...原创 2019-07-24 14:33:36 · 458 阅读 · 0 评论 -
C#基础18:内置委托类型Action和Func
前文:https://blog.csdn.net/Jaihk662/article/details/97130647(匿名方法与Lambda表达式)一、Action泛型委托Action 为 System 内置的无返回值委托,只需要引用 System 库就可以直接使用而不用定义,有以下几种形式public delegate void Action(); public delega...原创 2019-07-24 16:10:15 · 497 阅读 · 0 评论 -
C#基础6:枚举与结构体
PS:注释和讲解全在代码中1. 枚举与结构体using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace C4_程序设计{ public enum Pro { ...原创 2018-12-03 16:36:55 · 398 阅读 · 0 评论 -
C#基础11:五种访问修饰符
五种访问修饰符:public:公开的访问权限,当前类、子类、实例对象都可以访问到 private:私有的访问权限,只能在当前类内部进行访问使用,子类和实例对象都访问不到 protected:受保护的访问权限,只能在当前类的内部,以及该类的子类中访问,实例对象访问不到 internal:只能在当前程序集(项目)中访问,在同一个项目中internal和public的访问权限是一样的 ...原创 2018-12-05 20:07:10 · 420 阅读 · 0 评论 -
C#基础4:函数+ref和out参数
PS:注释和讲解全在代码中1. 简单函数文档注释作用图:using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace C4_程序设计{ class 函数 { ...原创 2018-12-02 16:28:21 · 528 阅读 · 0 评论 -
C#基础7:类的定义
PS:注释和讲解全在代码中1. 类的定义类与对象关系图:using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks; //↑↑↑引入了5个系统自带的命名空间//using C4_程序设...原创 2018-12-04 16:30:04 · 725 阅读 · 0 评论 -
C#基础8:类的继承
PS:注释和讲解全在代码中1. 类的继承C#继承特点C#派生类只能继承一个父类,可以通过接口来实现多重继承 继承是可以传递的,例如C从B派生,B又从A派生,那么C不仅继承了B中声明的成员,同样也继承了A中声明的成员 派生类是对基类的扩展,派生类可以添加新的成员,但不能移除已经继承的成员的定义 构造方法和析构方法不能被继承(不能继承,不过可以访问),除此之外其他成员能会被继承...原创 2018-12-04 18:31:40 · 381 阅读 · 0 评论 -
C#基础9:虚函数与多态
PS:注释和讲解全在代码中虚方法等同于虚函数 抽象方法等同于纯虚函数1. 虚函数与里氏转换原则虚方法使用细节:将父类的方法标记为虚方法,就是在父类方法的返回值前加virtual关键字,表示这个方法可以被子类重写 子类重写父类方法:在子类的方法的返回值前加override关键字,当然子类也可以不重写,或者是用new隐藏 父类中用virtual修饰的方法,可以在子类重写该的方...原创 2018-12-04 21:57:24 · 732 阅读 · 0 评论 -
C#基础5:字符串操作
string详细用法(部分):规定:s2和s3为string类型,ch为字符,ch[]为字符数组,loc, id都为int类型注意:所有修改型的函数,都不会对str本身进行修改,而是返回修改结果(函数的值传递)str.ToUpper() ------ 将所有的小写字母变为大写字母,其它字符不变 str.ToLower() ------ 将...原创 2018-12-02 21:59:13 · 416 阅读 · 0 评论 -
C#基础1:输入输出+变量定义
PS:注释和讲解全在代码中1. 输出Hello worldusing System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace C4_程序设计 //项目名,命名空间{ class ...原创 2018-11-30 20:14:50 · 2897 阅读 · 0 评论 -
C#基础2:简单乘法表
PS:注释和讲解全在代码中1. 多种方法实现9*9乘法表using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace C4_程序设计{ class 乘法表 { ...原创 2018-11-30 21:50:06 · 591 阅读 · 0 评论 -
C#基础5.1:StringBuilder和StopWatch类
PS:代码中有注释和讲解为什么需要用到StringBuilder?当需要对一个字符串变量重复赋值时,在内存中会产生大量的垃圾数据信息 这是因为string是定义在堆上的,而在栈上有一个指向当前字符串的指针,如果重新对当前字符串赋值,那么它并不会在原串上进行修改,而是在堆上重新开辟一个新空间存储修改后的新字符串,并让栈上的指针重新指向它 也就是说:对string多次操作,时间效率低...原创 2018-12-03 15:50:14 · 247 阅读 · 0 评论 -
C#基础10:接口
PS:注释和讲解部分在代码中虚方法等同于虚函数 抽象方法等同于纯虚函数1. 接口什么是接口?当抽象类中所有的方法都是抽象方法的时候,这个时候可以把这个抽象类用另外一种形式来表现,这种形式叫接口 接口可以当成特殊的类接口的定义:接口使用interface关键字定义,不是class关键字 有一个不成文的规定:一般接口在命名时需要在名字前面加个大写字母I 接口中不能包含...原创 2018-12-05 17:45:33 · 337 阅读 · 0 评论 -
C#基础15:委托
一、最简单的委托例子委托(delegate):类似于C语言函数作为参数传递,语法:访问修饰符 delegate 返回值类型 委托名称(参数列表);关于委托最宽泛的理解:委托声明的关键字:delegate 委托声明的位置可以在类外,也可以在类内,定义在类外同命名空间内其他的类也可以使用这个委托;定义在类内则是作为类的成员存在,只能在当前类中访问 如果方法A的返回值类型以及参数都...原创 2019-07-22 20:33:23 · 352 阅读 · 0 评论