C#基础
@櫏
这个作者很懒,什么都没留下…
展开
-
C#基础
什么叫构造函数?构造函数的名字必须与类同名;构造函数没有返回类型,它可以带参数,也可以不带参数;声明类对象时,系统自动调用构造函数,构造函数不能被显式调用;构造函数可以重载,从而提供初始化类对象的不同方法;若在声明时未定义构造函数,系统会自动生成默认的构造函数,此时构造函数的函数体为空.什么是封装?包装数据和功能成为一个单元,就称之为封装,封装包含隐藏对象信息枚举有什么用?它是...原创 2019-04-26 09:05:16 · 337 阅读 · 0 评论 -
C#零碎(五)
C# 其他特性可空类型:int a=null;&&与 ||或 !非2、匿名方法匿名方法就是没有名字的方法,没有名字,所以只能在定义的时候进行调用,其他的时候无法调用。3、迭代器第十三章:扩展方法1、什么是扩展方法它是可以用来扩展已经定义类型的方法成员。扩展方法的规则:1、扩展方法必须在一个非嵌套,非泛型的静态类中定义。2、至少有一个参数3、第一个参数必须...原创 2019-05-09 15:19:19 · 246 阅读 · 0 评论 -
C#零碎(四)
全面解析泛型1、类型参数泛型分为开放泛型和封闭泛型其中开放泛型是指包含类型参数的泛型,但是未绑定的类型;封闭类型是指已经为每一个类型参数都传递了数据类型。实参 形参类型参数约束where T:IComparable where语句用来是类型继承于IComparable接口,从而对类型参数进行约束。(重点掌握)①基类约束(了解)where T:base-class-name②、接口...原创 2019-05-09 14:56:25 · 170 阅读 · 0 评论 -
C#基础
Unity3D中的协程(coroutine)和C#线程之间的区别是什么?多线程程序同时运行多个线程 ,而在任一指定时刻只有一个协程在运行,并且这个正在运行的协同程序只在必要时才被挂起。除主线程之外的线程无法访问 Unity3D 的对象、组件、方法。Unity3d 没有多线程的概念,不过 unity 也给我们提供了 StartCoroutine(协同程序)和LoadLevelAsync(异步加载...原创 2019-04-23 20:30:54 · 136 阅读 · 0 评论 -
C#零碎(三)
一、C#当中的委托public delegate void MyDelegate(int a,string b)1、方法的签名必须与委托一致,方法签名包括参数的个数,类型,和顺序。2、方法的返回类型要和委托一致。委托执行的步骤:1、定义委托类型2、声明委托变量3、实例化委托4、作为参数传递5、调用委托二、C#事件机制什么是事件?事件发布者:发布者事件订阅者:做出相应处理...原创 2019-05-02 18:45:46 · 249 阅读 · 0 评论 -
C#零碎(二)
一、1、C#不允许多重继承2、接口的作用:接口可以理解为对一组方法声明进行的统一命名,但是这些方法中没有提供任何实现。也就是说把一组方法声明在一个接口中,然后继承于该接口的类都需要实现这些方法。通过接口,你可以对方法进行统一管理,避免了在每一种类型中重复定义这些方法。接口的关键字interface注意:在接口中定义方法不能添加任何的访问修饰符,默认为公有,添加会报错。**在接口中除了定...原创 2019-05-02 18:05:23 · 129 阅读 · 0 评论 -
C#零碎篇
一、析构函数析构函数用于在类销毁之前释放类实例所使用的托管和非托管资源。try {抛出异常 } catch {异常的处理机制} 析构函数:~Person(){}1、不能在结构体中定义析构函数,只能在类中。2、一个类只能有一个3、无法继承或者重载析构函数4、无法显示的调用析构函数,由垃圾回收器自动调用。5、析构函数既没有修饰符也没有参数。二、索引器索引器的适用简化了对类中数组成员...原创 2019-05-02 17:55:55 · 154 阅读 · 0 评论 -
C#基础(十)
一、C#当中的类1、Class 定义类 Class Person常用的三大属性public 公有的protected 受保护的private 私有2、abstract(抽象类)只能被继承不能被实例化。sealed (密封类)只能被实例化不能被继承字段的命名规范private string name;访问修饰符 字段类型 字段名称3...原创 2019-05-02 17:46:04 · 153 阅读 · 0 评论 -
C#基础(九)
1、数组类型:数组是一种引用类型。list 和 字典的区别:list是有序的,字典存的内容是无序。for 和 foreach的区别foreach不能边遍历遍修改。for可以遍历修改。for(初始值;取值范围;循环变量){//具体操作;}2、变量和常量:变量:变量的值可变;常量:常量的值不可变;3、运算符和表达式运算符重载 operator 关键字目的:对自定义的类型...原创 2019-05-02 17:25:08 · 433 阅读 · 0 评论 -
C#基础(八)
一、.NetFramework二、C#的发展历程:微软三、本专业用C#的目的开发Unity程序。1、C#如何 F5 或者运行2、Console.ReadKey()//作用让程序暂停3、头文件 using System;4、主类:main 用Class定义类C#基础语法入门1、标识符和关键字(1)只能包含字母,数字,或者下划线(2)首字母可以是字母,下划线和@符号。但是不能是...原创 2019-05-02 17:17:50 · 154 阅读 · 0 评论 -
C#面向对象
C#面向对象1、C#面向对象: 面向对象:万物皆对象,对象是一系列可以被其他对象使用的公共接口,对象封装了代码和数据,每个对象都包含他能操作所需要的所有信息三大特性:封装继承多态面向对象的好处:易维护,易扩展,易修改2、封装: 封装:一个类可以把方法封装,让代码实现低耦合,高内聚 低耦合:增强安全性和简化编程,类与类连接越少越好 高内聚:类的内部越紧凑越好3、封装的修饰符 publ...原创 2019-05-02 16:47:00 · 626 阅读 · 0 评论 -
C#基础之零碎小知识(一)
1、 多态:虚方法、重写方法、接口类的成员{数据成员{常量,字段} 函数成员(属性、方法、事件、索引器、运算符,构造函数,析构函数)}2、常量可以私有private默认访问修饰符是private(私有的)类的默认访问修饰符:Internal。本程序集或DELL(动态链接库)可访问默认的访问修饰符是谁?公有的、私有的、受保护、内部、受保护内部3、运行时常量:(运行时执...原创 2019-05-02 16:31:52 · 167 阅读 · 0 评论 -
C#基础
简单工厂模式1.可扩展性高2.对扩展开放,对修改关闭形参实参本地变量的生命周期:从声明开始,到方法体结尾形式形参:没有实际参数,可以变为本地变量,供方法使用实际参数:付给方法的实际的值Ref按引用传递按引用传递,按值传递。按值传递:传递的是变量按引用传递:不是拷贝副本,而是把参数当引用传递给方法out 输出参数用一个无值的参数,带入方法并且返回结果。Ref out 区别ref必须...原创 2019-04-22 19:36:22 · 175 阅读 · 0 评论 -
C#基础
什么是面向对象?----灵活、重用、扩展1、抽象的程序设计思想 2、纸:纸巾{外包装样式、价格、重量、纸张的材质。被使用(who?)} 3、寻路算法类{三点寻路(){},两点寻路(){}}4、继承打破封装 多态构造函数?类的一个成员构造类的?构造类的方法创建对象的时候调用构造函数 创建对象调用,初始化类的成员存在一个默认无参构造函数只要写了构造函数,就替代默认构造函数 ...原创 2019-04-22 19:19:11 · 164 阅读 · 0 评论 -
C#零碎(六)
泛型的可变现:1、协变性指的是泛型类型参数可以从一个派生类隐式的转化为基类。就是从派生类转换为基类。2、逆变性逆变性指的是泛型参数可以从一个基类隐式的转化为派生类。总结:并不是所有的泛型参数都支持协变和逆变,需要注意如下:1、只要接口和委托才支持。2、协变和逆变只适用于引用类型,值类型不支持协变和逆变。3、必须显式的用in或者out标记类型参数4、委托的可变性不要在多播委托中使...原创 2019-05-09 15:34:55 · 189 阅读 · 0 评论