12 2024 档案

摘要:字符串指定位置获取 字符串本质时char数组 字符串转char数组 char[] chars = str.ToCharArray(); 字符串拼接 str = string.Format("{0}{1}",robot,1); 正向查找字符的位置 str = "robot"; //会返回2 int i 阅读全文
posted @ 2024-12-26 16:52 cannedmint 阅读(14) 评论(0) 推荐(0) 编辑
摘要:静态方法 Equals 判断两个对象是否相等 最终的判断全交给左侧对象的Equals方法 不管是值类型还是引用类型都会按照左侧对象Equals方法的规则来进行比较 ReferenceEquals 比较两个对象是否是相同的引用,主要用来比较引用类型的对象 值类型对象返回值始终是false 成员方法 G 阅读全文
posted @ 2024-12-26 16:08 cannedmint 阅读(3) 评论(0) 推荐(0) 编辑
摘要:基本概念 命名用来组织和重用代码 命名空间像一个工具包,而类就像工具 //基本语法 //namespace 命名空间名 //{ // 类 // 类 //} using MyGame;//引用命名空间 namespace MyGame { class GameObject { } } //命名空间可以 阅读全文
posted @ 2024-12-26 15:34 cannedmint 阅读(9) 评论(0) 推荐(0) 编辑
摘要:基本概念 用 sealed 修饰重写函数 让虚方法和抽象方法不能再重写 abstract class Animal { public string name; public abstract void Eat(); public virtual void Speak() { Console.Writ 阅读全文
posted @ 2024-12-26 15:15 cannedmint 阅读(8) 评论(0) 推荐(0) 编辑
摘要:基本概念 接口时行为的抽象规范 关键字 interface 接口申明规范 不包含成员变量 只包含方法、属性、索引器、事件 成员不能被实现 成员可以不用写访问修饰符,但是不能是私有的 接口不能继承类,但是可以继承另一个接口 接口的使用规范 类可以继承多个接口 类继承接口后,必须实现接口中的所有成员 接 阅读全文
posted @ 2024-12-26 15:10 cannedmint 阅读(5) 评论(0) 推荐(0) 编辑
摘要:基本概念 被抽象关键字 abstract 修饰的类 抽象类不能被实例化,可以包含抽象方法 继承抽象类必须重写其抽象方法 abstract class Thing { //抽象类中封装的所有知识都可以用 public string name; } class Water : Thing { } //不 阅读全文
posted @ 2024-12-26 11:56 cannedmint 阅读(3) 评论(0) 推荐(0) 编辑
摘要:基本概念 让继承同一父类的子类们在执行相同方法时有不同的表现 运行时的多态:vob、抽象函数、接口 v: virtual 虚函数 o: override 重写 b: base 父类 class GameObject { public string name; public GameObject(st 阅读全文
posted @ 2024-12-26 11:33 cannedmint 阅读(6) 评论(0) 推荐(0) 编辑
摘要:基本概念 用 sealed 密封关键字修饰的类,让类无法再被继承 class Father { } //Son无法被别的类继承 sealed class Son : Father { } 阅读全文
posted @ 2024-12-26 11:07 cannedmint 阅读(2) 评论(0) 推荐(0) 编辑
摘要:万物之父的基本概念 关键字 object object 是所有类型的基类 可以利用里氏替换原则,用 object 容器装所有对象 可以用来表示不确定类型,作为函数的参数类型 obejct的使用 //引用类型 object o = new Son(); Son s = new Son(); o = s 阅读全文
posted @ 2024-12-26 10:45 cannedmint 阅读(3) 评论(0) 推荐(0) 编辑
摘要:基本概念 当申明一个子类对象时,先执行父类的构造函数,然后再执行子类的构造函数 子类可以通过 base 调用父类构造函数 继承中的构造函数执行顺序 Class GameObject { public GameObject() { Console.WriteLine("GameObject的构造函数" 阅读全文
posted @ 2024-12-24 20:00 cannedmint 阅读(3) 评论(0) 推荐(0) 编辑
摘要:基本概念 任何父类出现的地方,子类都可以替代 语法表现:父类容器装子类对象,因为子类对象包含了父类所有的内容 方便进行对象存储和管理 class GameObject { } class Player : GameObject { public void PlayerAtk() { Console. 阅读全文
posted @ 2024-12-24 19:39 cannedmint 阅读(3) 评论(0) 推荐(0) 编辑
摘要:继承的基本概念 一个类A继承一个类B 类A将会继承类B的所有成员 类A将拥有类B的所有特征和行为 被继承的类称为父类、基类、超类 继承的类称为子类、派生类 子类可以有自己的特征和行为 子类只能有一个父类,子类可以间接继承父类的父类 基本语法 //class 类名 : 被继承的类名 //{ // // 阅读全文
posted @ 2024-12-24 18:56 cannedmint 阅读(6) 评论(0) 推荐(0) 编辑
摘要:内部类 在一个类中再申明一个类 class Person { Arms leftArm; Arms rightArm; public class Body { //不写访问修饰词就默认是private class Arms { } } } Person p = new Person(); Perso 阅读全文
posted @ 2024-12-24 17:47 cannedmint 阅读(5) 评论(0) 推荐(0) 编辑
摘要:基本概念 让类和结构体能够运用运算符 关键字 operator 必须要是一个公共的静态方法,返回值要在 operator 前 条件运算符需要成对实现,一个符号可以多个重载且不能使用ref和out 基本语法 //public static 返回类型 operator 运算符(参数列表) class P 阅读全文
posted @ 2024-12-24 17:21 cannedmint 阅读(13) 评论(0) 推荐(0) 编辑
摘要:拓展方法基本概念 为现有非静态的变量类型添加新方法 一定要写在静态类中,一定是个静态函数,第一个参数为拓展目标,第一个参数用 this 修饰 (构造函数中可以用 this 来复用构造函数,索引器的语法中也会用到 this : 访问修饰符 返回值 this [参数类型 参数名,参数类型参数名] 基本语 阅读全文
posted @ 2024-12-24 16:41 cannedmint 阅读(11) 评论(0) 推荐(0) 编辑
摘要:静态类 用static修饰的类 只能包含静态成员且不能被实例化 static class TestStatic { //静态成员变量 public static int testIndex = 0; //静态方法 public static void TestFun() { } //静态成员属性 p 阅读全文
posted @ 2024-12-24 14:56 cannedmint 阅读(5) 评论(0) 推荐(0) 编辑
摘要:静态成员基本概念 静态成员关键字 static 静态成员直接用类名点出来使用 自定义静态成员 class Test { //静态成员变量 public static float pi=3.1415926f; //成员变量 public int num = 10; //静态成员方法 public st 阅读全文
posted @ 2024-12-23 11:05 cannedmint 阅读(7) 评论(0) 推荐(0) 编辑
摘要:索引器的基本概念 让对象可以像数组一样通过索引访问其中元素,使程序看起来更直观,更容易编写 索引器基本语法 //访问修饰符 返回值 this [参数类型 参数名,参数类型参数名] //{ // 内部的写法和规则与属性相同 // get{} // set{} //} class Person { pr 阅读全文
posted @ 2024-12-20 22:03 cannedmint 阅读(6) 评论(0) 推荐(0) 编辑
摘要:成员属性 用于保护成员变量 为成员属性的获取和赋值添加逻辑处理 解决了private public protected的局限性 属性可以让成员变量在外部只能获取不能修改或者只能修改不能获取 成员属性的基本语法 //访问修饰符 属性类型 属性名 //{ // get{} // set{} //} cl 阅读全文
posted @ 2024-12-20 20:40 cannedmint 阅读(5) 评论(0) 推荐(0) 编辑
摘要:构造函数 在实例化对象时会调用的用于初始化的函数,如果不写则默认存在一个无参构造函数 构造函数没有返回值,函数名和类名必须相同 构造函数可以重载 如果自己不是实现无参构造函数就实现了有参构造函数的话,就会失去默认的无参构造函数 class Person { public string name; p 阅读全文
posted @ 2024-12-20 00:00 cannedmint 阅读(9) 评论(0) 推荐(0) 编辑
摘要:成员方法(函数)用来表现对象行为 申明在类语句块中,规则和函数申明规则相同 成员方法不用加static关键字 成员方法必须实例化对象,再通过对象来使用,相当于该对象执行了某个行为 class Person { public string name; public int age; public Pe 阅读全文
posted @ 2024-12-19 22:16 cannedmint 阅读(5) 评论(0) 推荐(0) 编辑
摘要:成员变量 申明在类语句块中 用来描述对象的特征 可以是任意变量类型 数量不做限制 是否赋值根据需求来定 enum E_Gender { Male, Female, } struct Position { } class Person //类中可以使用任何变量类型 { //特征——成员变量 //姓名 阅读全文
posted @ 2024-12-19 18:01 cannedmint 阅读(7) 评论(0) 推荐(0) 编辑
摘要:类的关键词 Class 类一般申明在namespace中,枚举和struct一般也在namespace中申明 类的申明语法(类前面可以加访问修饰符) class 类名 { 特征——成员变量 行为——成员方法 保护特征——成员属性 构造函数和析构函数 索引器 运算符重载 静态成员 } 类申明实例 命名 阅读全文
posted @ 2024-12-19 17:30 cannedmint 阅读(10) 评论(0) 推荐(0) 编辑
摘要:代码 using System; using System.Runtime.InteropServices.Marshalling; using System.Security.Cryptography.X509Certificates; namespace 实践 { enum E_SceneTyp 阅读全文
posted @ 2024-12-19 01:39 cannedmint 阅读(8) 评论(0) 推荐(0) 编辑
摘要:根据是否结束游戏的逻辑选择对掷骰子的过程用bool构建函数 掷骰子 static bool RollDice (w,h,ref Player p1,ref Player p2,Map map) { InfoClear(h); Console.ForegroundColor=p1.type==E_Pl 阅读全文
posted @ 2024-12-18 21:48 cannedmint 阅读(8) 评论(0) 推荐(0) 编辑
摘要:玩家结构体包含了玩家类型,玩家位置,玩家初始化构造函数还有画自己的函数方法 玩家结构体 enum E_PlayerType//玩家类型的枚举 { Player, Robot, } struct Player { public E_PlayerType type; //用地图上的索引代替坐标 publ 阅读全文
posted @ 2024-12-18 20:11 cannedmint 阅读(8) 评论(0) 推荐(0) 编辑
摘要:地图结构体包含可格子数组、地图初始化构造函数、画地图的函数方法。 地图结构体 struct Map { public Grid[] grids;//声明一个变量类型为Grid的数组在结构体中不用初始化 public Map(int x,int y,int num) // 创建构造函数,传入下x,y作 阅读全文
posted @ 2024-12-18 17:48 cannedmint 阅读(8) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示