自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(51)
  • 收藏
  • 关注

原创 正则表达式

正则表达式正则表达式(Regular Expression)是一种文本模式,由普通字符与元字符,限定字符组成。正则表达式使用单个字符串来描述,匹配一系列符合某个句法规则的字符串。(字符串比较)元字符是具有特殊意义的字符如果想要 . 就在 . 前加上图中字符{} {}中的数字(限定符)是几,就代表{}前面的字符有几个。限定符常用练习在项目文件里建立一个文本...

2020-07-30 21:07:00 227

原创 匿名函数,回调和事件

匿名函数匿名函数就是没有函数名的函数匿名函数仅限委托绑定委托当参数时,使用匿名函数普通匿名函数绑定委托对象 += delegate ([参数列表]){ //方法体}xiaoming.buyHoueEventHandle += delegate(float m,float a) { Console.WriteLine("匿名中介在帮忙找房子哟"); return null;}; Lambda表达式方式绑定委托对象 += (参数列表) =>{ //

2020-07-29 20:34:47 253

原创 委托的概念与使用

委托多线程cpu执行的是进程中的线程线程是并行执行的(异步)一个进程包含多个线程,最少包含一个线程(主线程,UI线程)创建子线程首先要引用命名空间using System.Threading;//词命名空间中包含C#中的线程操作ThreadStart ts = new ThreadStart方法名);//封装一个线程开始的方法Thread thread = new Thread(ts);//线程类 线程对象需要一个线程开始的方法开始线程thread.Start();开辟一个新线程

2020-07-29 19:51:38 1608

原创 集合的概念与使用

集合数组的局限性数组只能存储相同类型的数据int[] intArray = new int[3];intArray[0] = 1;intArray[1] = 2;intArray[2] = “三”; // 报错类型不匹配数组只能存储相同类型的数据int[] intArray = new int[3];intArray[0] = 1;intArray[1] = 2;intArray[2] = 3; intArray[3] = 4;

2020-07-29 16:15:45 1032

原创 泛型的方法、参数,类和接口的含义与使用

泛型我们在编写程序时经常遇到俩个模块的功能非常相似,只是因为参数类型不同,所以分别写多个方法处理每种数据类型,因为方法的参数类型不同没法重用同样功能的代码。普通方法实现加法 public void Add(object obj1, object obj2) { if (obj1 is int && obj2 is int) { Console.WriteLine((int)ob

2020-07-28 22:25:51 730

原创 接口的含义与使用及与抽象类之间的比较

接口接口是一组包含了类或结构可以实现的功能的定义。创建方法interface IUSB{}接口名一般以大写字母 I 作为开头接口的特性1、接口可以包含事件,索引器,方法和属性,但是不能包含字段。2、接口是一个引用类型,只包含了功能的定义,不包含功能的实现3、接口成员的访问级别是默认的(默认为public),不可以使用其他修饰词修饰4、接口成员不能添加任何的访问修饰符5、类的继承只能单继承,接口的实现支持多实现6、接口一旦被实现,就必须实现接口当中的所有成员7、接口无法直接进行实例

2020-07-27 21:24:06 153

原创 命名空间及算术运算符的重载

命名空间命名空间的设计目的是提供一种让一组名称与其他名称分隔开的方式。在一个命名空间中声明的类的名称与另一个命名空间中声明的相同的类的名称不冲突。声明方法namespace name{// 代码}算术运算符的重载重定义或重载 C# 中内置的运算符。因此,程序员也可以使用自定义类型的运算符。重载运算符是具有特殊名称的函数,是通过关键字 operator 后跟运算符的符号来定义的。使用方法class Person{ public int age = 5 //

2020-07-27 21:09:47 352

原创 C#代码中的索引器

索引器允许一个对象可以像数组一样被索引。当定义一个索引器时,该类的行为就会像一个虚拟数组(virtual array)一样.可以使用数组访问运算符( [ ] )来访问该类的实例。public string[] names = { "haha", "hehe", "lala" };//索引器,类似于属性。public string this[int index]{ set { names[index] = value; } get {

2020-07-27 20:50:37 90

原创 设计模式之单例模式的含义及使用

设计模式设计模式是指前人反复设计实践,总结出来的代码架构设计思路或模式。常用的设计模式有单例模式,工厂模式,代理模式等。在Unity引擎阶段,使用最多的就是单例模式。单例模式对于系统中的某些类来说,只有一个实例很重要,例如,一个游戏数据内容,真个游戏只有这么一份,在游戏进行到不同部分时,需要记录或访问该数据游戏数据。针对这种情况如果某个类只能有一个实例那么则满足我们的需求,我们将满足某个类只有一个实例的代码设计方式称为单例模式。单例模式的三要点:1、某个类只能有一个实例2、必须自行创建这个实

2020-07-27 20:37:36 194

原创 静态类,静态成员,静态构造的含义

静态类静态类主要防止程序员写代码来实例化该静态类;其次,它防止在类的内部声明任何实例字段或方法。静态成员静态成员:静态成员变量是和类相关联的,可以作为类中“共”有的变量(是一个共性的表现),静态成员不依赖特定对象的存在,访问的时候通过类来操作的。静态成员使用static关键字修饰。class Person{ //人口数量,静态成员 public static long population = 7000000000; //设置人口数量 ,静态成员

2020-07-27 19:30:23 229

原创 抽象类和抽象方法的含义

抽象类抽象就是从多个事物中将共性的,本质的内容抽取出来。抽象类的特性1、抽象类不能使用new关键字进行实例化,抽象类是不完整的2、抽象类除了可以拥有普通类成员外还可以有抽象方法3、从抽象类派生的非抽象类必须实现抽象类当中的所有抽象方法4、抽象类不能被实例化但可以有构造方法,构造方法不能为抽象方法5、不能使用sealed修饰符修饰抽象类,因为采用sealed修饰符的类是无法被继承的,而抽象类是必须被继承的抽象方法抽象方法和虚方法及其相似,为了区别他们,我做了以下区分。虚方法,子类可以重写,

2020-07-27 18:11:26 297

原创 递归小练习(斐波那契数列,猴子吃桃)

斐波那契数列//在类中写入下列方法//斐波那契数列static void Test(int a, int b)//传入初始的俩个数{ int c = a + b;//定义一个和 if (c < 300)//定义一个退出递归的条件 { Console.Write(c + ",");//输出和 Test(b, c); }}在main函数中调用方法Test (0, 1);吃桃 public static voi

2020-07-24 21:55:09 174

原创 方法的重载与递归

方法的重载方法的重载是指在同一个类中方法同名,参数不同,调用时根据实参的形式,选择与他匹配的方法执行操作的一种技术。参数不同是指:1、参数类型不同2、参数个数不同3、参数的个数和类型都不同public void Print(int data){ Console.WriteLine(data);}public void Print(float data)//不同类型{ Console.WriteLine(data);}public void Print(int data

2020-07-24 21:17:14 199

原创 StringBuilder的用法和StringBuilder的方法

StringBuilder我们在使用字符串时会产生很多废弃的值,虽然C#中有垃圾回收机制,但是如果一个字符串所存的值非常大,这就非常占用空间。我们该怎么解决这个问题呢?StringBuilder使用StringBuilder追加后就不是垃圾了StringBuilder strBuilder = new StringBuilder("Hello, ");strBuilder.Append("Unity!"); 他输出的结果就为“Hello,Unity!”当一个字符串内容很多的时候这个方法比

2020-07-24 21:04:42 931

原创 C#中String字符串的解析及String的各种方法

字符串string 字符串是非常常用的数据类型,它是引用类型,但又非常特殊。字符串的特殊引用因为String字符串所定义的值可能很多很多,引用类型会在堆空间建立一个储存空间用来存放String字符串的值,非常占用空间。所以如果定义了多个值一样的字符串,内存里的值只有一份,他们所应用的就只有一个值字符串的更改字符串是不能更改的,所谓更改是创建了一个新的字符串如:string a="abc";a="abcd";它会生成一个新的字符串,原来的值就会被C#的垃圾回收机制自动销毁垃圾回收机制

2020-07-24 20:38:17 5280

原创 构造函数的含义及封装, 继承,多态

构造函数构造函数就是一个对象的初始操作的函数。构造函数就是一个普通的函数,只不过他是每个对象第一个调用的函数。构造函数没有返回值,也不能写返回值,访问修饰符必须为public,名字必须和类名保持完全一致。执⾏的时机new对象()的时候调⽤因为⼀旦构造函数被设置为了private,那么外界就⽆法new这个对象了构造函数是不能像普通⽅法⼀样被直接调⽤的如果⼀个类没有构造函数那么系统会⾃动写⼀个空参数空⽅法体的构造函数如果有构造函数那么系统就不会帮你⾃动创建构造函数可以有参、也可以⽆参构

2020-07-23 19:15:02 312

原创 值类型和引用类型的区别

值类型按顺序存放于栈中,一个值对应一个储存空间。有int,bool,枚举,结构体等。例如:int a =10;int b=a;a=5;b=10;如上,定义了俩个整数,把a的值赋给b,改变a后b并不会改变,因为他们的储存空间是不一样的,改其中一个不会影响另一个。引用类型在堆空间中随机取出一块空间存放值,并在栈中存储一个用来寻找堆空间存放的值的地址。有数组,字符串(string)。例如:如图定义了俩个数组,一个等于另一个,但是他们是相同的,如改其中一个那另一个也会改变,这就是引用类型

2020-07-22 20:11:13 89

原创 变量的作用域

变量的作用域一张图来表示全局变量,又名成员变量。本类中可以任意使用。局部变量,遇到 } 就结束了。就近原则,哪个里的近就用哪个。

2020-07-22 19:57:27 77

原创 方法的参数(形参,实参,ref,out,params)

参数方法的参数分为形参和实参形参全称形式参数实参全称实际参数定义方法时在方法后面()中传入的参数为形参,调用方法时在方法后面()中传入的参数为实参。ref引用参数以下代码中方法Swap的作用的将俩个数字交换。 static void Swap( int a, int b) { int temp = a; a = b; b = temp; } stati

2020-07-22 19:44:58 3274

原创 C#中属性的含义

属性一般情况下,字段都会被设置为private(私有),那么外界如果想访问该怎么做呢?快捷设置字段的访问方式,只读or只写or可读可写,就可以使用到属性,或称属性访问器。以下是几个属性的使用方法只读public string Name{ get { return Name; } } 只写public string Name{ set { name = value;

2020-07-22 18:01:14 1004

原创 字段和方法的含义

字段什么是字段字段就是描述一个类特征的变量(就是一个变量)创建字段访问修饰符 数据类型 变量class Person{ public string name;//姓名 public int age = 18;//年龄} 默认访问修饰符为 private,字段也可以设置初值访问修饰符在前面博客中有。字段的访问对象名.字段名Person xiaoming = new Person();xiaoming.name = "xiaoming";xiaoming.a

2020-07-21 18:30:26 1729 1

原创 类和对象的含义

类什么是类类可以理解为类别,是具备某些共同特征的实体的集合,它是一种抽象的数据类型,它是对所具有相同特征实体的抽象。例如 人类,鸟类等。类的创建访问修饰符 class 类名 { 类成员 }/// <summary>/// 人类/// </summary>class Person{ public string name;//姓名 public int age;//年龄 /// <summary>

2020-07-21 17:58:40 432

原创 面向对象的含义(与面向过程的区别)

面向对象面向对象面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。面向过程面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。面向对象的优点易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统,使系统更加灵活、更加易于维护 ....

2020-07-21 17:29:14 151

原创 使用foreach遍历字符串中有几个“n”.

foreach string str = "Hello,QianFeng!Hello,Unity"; int num = 0;//计数器 foreach (var item in str) { if (item == 'n')//如果遍历出来的字符是“n” { num++;//计数器增加并输出

2020-07-20 18:03:12 953

原创 迭代遍历foreach语法

foreachforeach可以遍历字符串,数组,集合等foreach遍历出来的迭代变量不可修改,是只读的。foreach (var item in intarr){Console.WriteLine(item);}var :类型不明确是,使用var,系统可以自动识别变量的类型...

2020-07-20 17:59:14 375

原创 二维数组的含义

二维数组有俩个下标的数组为二维数组二维数组本质上是以数组作为数组元素的数组,即“数组的数组”。动态初始化类型[ , ]数组名=new类型[常量表达式1,常量表达式2];1为第一维的长度 2为第二维的长度1代表的是这个二维数组的长度,2代表的二维数组中一维数组的长度静态初始化类型[,]数组名={ {具体数值1,具体数值2…},{具体数值1,具体数值2…},……} ;注意:第二维的个数必须相同,例如上面的写法会出现编译错误。数组元素的访问数组名 [下标1,下标2]a[0][1]

2020-07-20 17:50:39 2662

原创 使用插入排序将数组中的元素按从小到大或(从大到小)排列出来

插入排序同样想要想要相反的把if语句中的" < “改成” >" int[] a = new int[] { 3, 6, 9, 5, 2, 4 }; //循环要比的数 for (int i = 0; i < a.Length - 1; i++) { //循环被比的数 for (int j = i + 1; j > 0; j-

2020-07-20 17:38:34 3737 1

原创 使用选择排序将数组中的元素从小到大(或从大到小)排列出来

选择排序以下是从小到大如果想从大到小将下面代码中if语句中的>改成<即可 int[] array = new int[] { 5, 1, 3, 2, 0 }; for (int i = 0; i < array.Length - 1; i++) { //记录当前数的索引和值 int index = i;//下标 int

2020-07-20 17:22:50 4524

原创 使用冒泡排序把数组中的元素从小到大或者(从大到小)排序并输出

冒泡排序 int[] array = { 3, 5, 2, 4, 6, 0 }; //轮数 for (int i = 0; i < array.Length - 1; i++) { //次数 for (int j = 0; j < array.Length - i - 1; j++) {

2020-07-20 17:08:03 3665

原创 插入排序的含义

插入排序每次循环,把数组中的元素按大小放到适当的位置。如上图,第一次就一个数字,第二次循环俩个,然后按大小顺序排好,第三次循环三个,比第一个小比第二个大,就放在中间,然后依次这么循环,判断每个数的大小,然后放到相应的位置。...

2020-07-20 16:59:23 181

原创 选择排序的含义

选择排序每循环一次 把数组中最小的数字放到最前方,知道顺序完全排好。如上图,循环第一次找出最小的0,然后把0放到第一位,然后依次往后,1,2,3……直到全部排完。

2020-07-20 16:52:49 162

原创 冒泡排序的含义

冒泡排序进入下面的网站可以看到冒泡排序的具体流程https://images2017.cnblogs.com/blog/849589/201710/849589-20171015223238449-2146169197.gif俩俩比较,把大的数后移,一和二比,二和三比,直到最后一位每次比较把最大的放到最后,直到顺序排好...

2020-07-20 16:46:08 191

原创 数组的含义(一维)

数组什么是数组数组用来讲相同数据类型存储在存储单元组里组成的构造函数数组的每一个成员称为一个数组元素。例如:int[] ages;//定义了一个整数数组,名为agesfloat[] scores;动态初始化第一种数据类型[] 数组名 =new 数据类型[数组长度]数组长度为这个数组中可以存储数组元素的个数。int[] intArray=new int[6];//数据元素为默认值 定义一个数组,长度为6第二种数据类型[] 数组名 =new 数据类型[数组长度]{数组元素1,数组元素

2020-07-17 14:31:02 856 1

原创 访问修饰符的含义(public,private,protected,internal)

访问修饰符什么是访问修饰符所有类型和类型成员都具有可访问性级别,用来控制在其他代码位置能否访问到类型或成员设置了成员的可以访问限制,提高代码的安全性主要用来限制程序员的。代码的位置层级划分结构体和类还可以包含变量。常用的访问修饰符private方法在其派生类中不可调用(派生类就是子类)protected方法在其派生类中可以调用...

2020-07-17 14:25:00 598

原创 结构体的含义

结构体结构体是自定义类型Struct 结构体名{结构体内容}例如struct Student{​ public string name;​ public char sex;​ public int age;​ public string school;​ public string phoneNumber;}注意:结构体内字段声明不能有初始值创建结构体变量结构体是值类型Student xiaoming;给结构体

2020-07-17 14:18:22 568

原创 枚举的含义

枚举定义枚举类型枚举类型是自定义类型,这是与前面学习到数据类型最大的差别enum 枚举名{枚举值1,枚举值2……}例如:装备类型enum EquipType{​ Helmet,//头盔​ BodyArmor,//防弹衣​ Knapsack//背包}枚举值之间用 逗号隔开,最后一个枚举值后不需要加任何标点符号。EquipType可以被认为是一种数据类型,也可以称之为是枚举类型。枚举类型的值如何使用枚举类型的值枚举类型名.枚举值例如:EqulpTy

2020-07-17 12:17:56 1170

原创 使用for循环编写判断平年闰年

Console.WriteLine("请输入一个年份");//提示int year = convert.ToInt32(Console.ReadLine());//输入if(year%400==0||(year%4==0&&year%100!=0))//平润年的条件闰年判定:能被400整除。或者能被4整除但不能被100整除。其余的年份都为平年。{ Console.WriteLine(year+"是闰年");//如果符合}else{ Console.WriteLine

2020-07-16 22:05:45 1778

原创 使用for语句编写九九乘法表

for (int i = 1; i <= 9; i++)//循环1-9{ for (int j = 1; j <= i; j++)//循环1-i { Console.Write(j+"X"+i+"="+i*j+" ");//输出乘法表的格式 } Console.WriteLine();//起回车作用}``

2020-07-16 21:54:35 918

原创 使用for循环语句打印出1~100之间不是7的倍数并且不包含7的数

推荐使用第二种//第一种方法for (int i = 1; i <= 100; i++){ int b = i / 100;//求出其百位 int s = i % 100 / 10;//求出其十位 int g = i % 10;//求出其个位 if (i % 7 == 0 || b == 7 && s == 7 && g == 7)//如果这个数除以7等于0或者其各个位上有7 { continue;//跳出本

2020-07-16 21:51:23 7342

原创 使用do while语句编写sum=1+2+3+…+N;求sum不超过10000的最大整数值和项值N

int a = 1;//定义一个用来自增的数int sum = 0;//定义一个用来循环的条件do{ sum += a;//没循环一个数就加到sum储存空间里 a++;//自增}while (sum <= 10000);//循环的条件Console.WriteLine("最大的整数为" + (sum - a) + "最大项为" + (a - 1));//输出 写这个(sum-a)的原因是先循环再判断所以他会在已经超出10000以后才判断比10000大所以最后要减去一个a;

2020-07-16 21:42:27 4555

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除