首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
c#学习记录
小琴美
创建于2024-03-27
订阅专栏
那年夏天,我拨去的电话
暂无订阅
共16篇文章
创建于2024-03-27
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
字典
字典的基本使用 添加 访问 若键不存在,会抛出异常 不抛出异常处理方法 删除 ContainsKey和ContainsValue方法 字典的使用场景 数据索引 统计频次 缓存数据 Dictionary
委托
什么是委托 如果我们要把方法当做参数来传递的话,就要用到委托。简单来说委托是一个类型,这个类型可以赋值一个方法的引用。 定义委托,返回值类型,方法的参数类型,用关键字delegate 把同返回值和参数
泛型类
泛型是什么 通过参数化类型来实现在同一份代码上操作多种数据类型。利用“参数化类型”将类型抽象化,从而实现灵活的复用。 泛型类 定义泛型方法就是定义一个方法,这个方法的参数的类型可以是不确定的,当调用这
集合类
列表List 当我们有很多类型一样的数据的时候,前面我们一般使用数组来进行管理,但是这样有个缺点就是数组的大小是固定的。 如果我们很多类型一样的数据,比如游戏得分,我们可以集合类来进行管理,比如列表L
结构体和类的不同
区别 结构体是值类型,类是引用类型。 结构体存在栈中,类存在堆中。 结构体变量和类对象进行类型传递时,结构体变量进行的就是值传递,而类对象进行的是引用传递,或者说传递的是指针,这样在函数中改变参数值,
运算符重载
用==号判断两个对象的引用是否相等,实际上是比较地址,如果是同一个对象的引用,那地址就是一样的,结果就是true,否则,就是false 因为想要让==号比较两个对象是否相等(数据成员是否一样),所以就
索引器
类似与数组取值,数组赋值 索引器都可以用函数代替 方便阅读 使用例子 在Test类内定义字符串数组,定义索引器 测试
接口
定义一个接口在语法上跟定义一个抽象类完全相同,但不允许提供接口中任何成员的实现方式,一般情况下,接口只能包含方法,属性,索引器和事件的声明。 接口不能有构造函数,也不能有字段,接口也不允许运算符重载。
修饰符
修饰符,用来类型或者成员的关键字。修饰符可以指定方法的可见性。 public:同一程序集(DLL或EXE)中的任何其他代码或引用该程序集的其他程序集都可以访问该类型或成员。 private:只有同一类
子类的构造函数
父类 子类 测试 总结 在子类中,通过base关键字可以调用父类的构造函数,在创建对象时候,可以通过参数选择不同的构造函数
抽象类和封装类
C#允许把类和函数声明为abstract,抽象方法只能在抽象类里面 抽象类不能实例化,因为是不完整的模板 抽象类可以包含普通函数和抽象函数,抽象函数就是只有函数定义没有函数体。显然,抽象函数本身也是虚
面向对象---继承
继承是什么 很多类中有相似的数据,比如在一个游戏中,有Boss类,小怪类Enemy,这些类他们有很多相同的属性,也有不同的,这个时候我们可以使用继承来让这两个类继承自同一个类。 好处就是当我们需要修改
堆栈和静态存储区
栈 类似于电梯 特征 数据只能从栈的顶端插入和删除 把数据放入栈顶称为入栈(push) 从栈顶删除数据称为出栈(pop) 后进先出 内存中的栈,是由系统管理的(.Net框架) 堆 堆是一块内存区域,与
面向对象编程
什么是面向对象编程? 为什么使用面向对象编程? 为了让编程更加清晰,把程序中的功能进行模块化划分,每个模块提供特定的功能,而且 每个模块都是孤立的,这种模块化编程提供了非常大的多样性,大大增加了重用代
异常
异常 异常:异常是在运行期间代码中产生的错误。 示例: int[myArray ={1,2,3,4}; int myEle=my Array[4];/数组下标越界 运行到这里的时候,会出现异常,这个异
C#
编译和运行过程 C#源文件先在C#编译器编译,产生程序集(在.Net框架编写的代码,需要在CLR的环境下运行) 程序集在JIT编译器(CLR)进行解析,解析成为本机代码 本机代码能够被操作系统交互,识