自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

cyl16688

解决日常工作问题

  • 博客(29)
  • 收藏
  • 关注

原创 TcpListener/TcpClient异步编程02

服务器代码示例:using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Net;using System.Net.Sockets;namespace ASYNServer{ class Server { private TcpListener tcpListener; byte[] buffer = new b

2020-09-26 15:20:41 198

原创 TcpListener/TcpClient同步编程01

在使用TcpListener/TcpClient同步编程之前,要引入两个命名空间using System.Net;using System.Net.Sockets;服务器代码示例:using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Net;using System.Net.Sockets;namespace Net{ class Progr

2020-09-26 15:19:07 110

原创 C#编程语言基础20

声明委托委托声明决定了可由该委托引用的方法。委托可指向一个与其具有相同签名的方法。委托的声明和方法的声明时一样,只不过多了一个delegate修饰符委托不是方法,而是一种类型委托是引用类型如下两种委托限定了回调方法的类型public delegate int YyDelegate();public delegate int MyDelegate (string s);实例化委托声明委托后,我们可以通过new关键字来创建委托。委托的构造方法中需要填入的是方法的名 ,注意不带有参数:例如:

2020-09-26 14:51:47 62

原创 C#编程语言基础19

反射的简介Reflection,中文翻译为反射。这是.Net中获取运行时类型信息的方式,.Net的应用程序由几个部分:‘程序集(Assembly)’、‘模块(Module)’、‘类型(class)’组成,而反射提供一种编程的方式,让程序员可以在程序运行期获得这几个组成部分的相关信息,例如:Assembly类可以获得正在运行的装配件信息,也可以动态的加载装配件,以及在装配件中查找类型信息,并创建该类型的实例。Type类可以获得对象的类型信息,此信息包含对象的所有要素:方法、构造器、属性等等,通过Typ

2020-09-26 14:47:16 61

原创 C#编程语言基础18

进程当一个程序开始运行时,它就是一个进程,进程包括运行中的程序和程序所使用到的内存和系统资源。而一个进程又是由多个线程所组成的。using System;using System.Collections.Generic;using System.Diagnostics;using System.Linq;using System.Text;using System.Threading.Tasks;namespace 进程{ class Program {

2020-09-26 14:44:39 55

原创 C#编程语言基础17

path类在程序中经常会对文件的路径进行操作,例如获取文件的扩展名,获取文件或文件夹的路径等,为了实现此类功能,C#中提供了Path类。Path类中包含了一系列用于对文件路径进行操作的方法参考代码using System;using System.Collections.Generic;using System.IO;using System.Linq;using System.Text;using System.Threading.Tasks;namespace Path类{

2020-09-26 14:40:04 89

原创 C#编程语言基础16

异常是在程序执行期间出现的问题。C# 中的异常是对程序运行时出现的特殊情况的一种积极的响应,从而达到程序具有更有健壮性,尽量的避免程序中的死机现象。比如尝试除以零,数组超出索引,字符串格式异常等。异常提供了一种把程序控制权从某个部分转移到另一个部分的方式。C# 异常处理时建立在四个关键词之上的:try、catch、finally 和 throw。try:一个 try 块标识了一个将被激活的特定的异常的代码块。后跟一个或多个 catch 块。catch:程序通过异常处理程序捕获异常。catch

2020-09-26 14:29:13 152

原创 c#编程语言基础15

冒泡排序冒泡排序就是相邻的两个数字进行比较,我们采用的冒泡排序是从前向后进行排序,如果前面的比后面的就进行交换位置。using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace 冒泡排序{ class Program { static void Main(string[] args

2020-09-24 17:03:47 74

原创 c#编程语言基础14

ArrayListArrayList中可以添加任意类型的数据,但是在获取数据的时候有时候会麻烦一些using System;using System.Collections;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace ArrayListDemo{ class Program { stat

2020-09-24 16:45:54 89

原创 C#编程语言基础13

String类字符串的特性String类用来比较两个字符串、查找和抽取串中的字符或子串。string可以看做是char的只读数组。C#中字符串有一个重要的特性:不可变性,字符串一旦声明就不再可以改变。注意:对该类对象的任何操作都将返回一个新的字符串对象 除了Clone Clone直接将该字符串的引用返回了 示例:String s1 = “a”;String s2 = s1 + “b”;Console.WriteLine(Object.ReferenceEquals (s1,s2)); 谁说字

2020-09-24 16:14:10 212

原创 C#编程语言基础12

static关键字StaticClass类using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace 静态类{ //静态类就是用static 修饰的类 //静态方法就是用static修饰的方法 //静态类是无法被继承的 //实例类中可以包含静态成员和实例成员 static

2020-09-24 15:45:21 130

原创 C#编程语言基础11

面向对象之多态多态(polymorphism)即一个名字具有多种语义。在面向对象中指一个方法可以有多种实现版本。类的多态表现为方法的多态,方法的多态主要有重载(overload)和覆盖(override)。比如我们用下面的案例来展示一下我们不用多态的时候的劣势Animal类:using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Task

2020-09-24 15:17:35 208

原创 C#编程语言基础10

面向对象之继承继承概念在C#中,类的继承是指在一个现有类的基础上去构建一个新的类,构建出来的新类被称作子类,现有的类被称作父类,子类会自动拥有父类除构造方法和析构方法以外的所有成员。继承关系的相关语法:class 子类:父类{}对于继承父类的子类来说,子类可以使用父类中公有的成员。对于C#来说,子类单继承一个父类,也就是说,C#继承具有单一性。多个类可以同时继承同一个父类。在C#中,多层继承是可以的,即一个类的父类可以再去继承其他类,例如C类继承自B类,B类又继承自A类,这时,C类也可称

2020-09-24 14:40:04 163

原创 C#编程语言基础09

面向对象封装面向对象的三大特性:封装、继承、多态。抽象的概念:在封装的之前,还有一个概念叫抽象。如果说面向对象有四大特征的话,那么就是抽象、封装、继承和多态。抽象使我们进行封装的首要步骤。因为对象本身的状态与行为,以及对象之间的关系,都是抽象的结果。没有抽象,就没有对象。但是我们一般情况下都把抽象归为封装之内,所以我们常说的面向对象的三大特征是封装、继承、多态,从而少了抽象。抽象是从众多的事物中抽取出共同的、本质性的特征,而舍弃其非本质的特征。例如苹果、香蕉、生梨、葡萄、桃子等,它们共同的特性就是

2020-09-24 14:33:09 272

原创 C#编程语言基础08

break结束距离break最近的那一层循环using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace for循环{ class Program { static void Main(string[] args) { //第一个条件 是赋

2020-09-24 14:27:26 71

原创 C#编程语言基础07

什么是方法(函数)方法是一个可以实现具体功能的有名字的代码块。函数的作用作用就是对代码进行重用有重复代码的地方我们就可以使用方法函数的三要素返回值 方法名 参数怎么理解参数呢?参数就是使用外接的数据的入口返回值就是要把该函数计算的结果告诉外界的通道。可以理解为工作汇报方法相当于厨房 参数中就是原材料 返回值就是一盘精美的菜。函数的声明[访问修饰符] [static]返回值 方法名(参数){语句块;return;}包含代码块的花括号后面也没有分号‘;’命名规则:方法的开头要

2020-09-24 14:24:06 80

原创 C#编程语言基础06

数组的定义具有相同数据类型的变量的有序集合数组的声明及类型一维数组初始化//数组的英文是Array //数组的声明和实例化 int[] numArr1; //对数组声明 numArr1 = new int[10]; //对数组的实例化 //下面的数组是在声明数组并实例化后并重新对数组的默认值(元素)进行修改了 int[] numArr2 = new int[5] { 12

2020-09-24 14:05:32 75

原创 C#编程语言基础05

while循环适合在执行体前判断执行条件的操作using System.Linq;using System.Text;using System.Threading.Tasks;namespace while循环{ class Program { static void Main(string[] args) { //类似计数器 //1-100 所有能被3整除的和 int su

2020-09-23 15:38:04 77

原创 C#编程语言基础04

IF选择分支语句using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace if分支语句{ class Program { static void Main(string[] args) { #region //if

2020-09-23 15:29:26 70

原创 C#编程语言基础21

C#网络协议编程TCP面向连接的可靠协议服务端:using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Net;using System.Net.Sockets;using System.IO;using System.Threading;namespace TcpServer{ cl

2020-09-23 15:25:56 81

原创 C#编程语言基础03

算术运算符(+加,-减,*乘,/除,%取模,++自增,–自减)using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace 运算符和表达式{ class Program { static void Main(string[] args) {

2020-09-23 15:17:13 100

原创 C#编程语言基础02

进制转换using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace 进制转化{ class Program { static void Main(string[] args) { //将十进制数转化成二进制的数 //

2020-09-23 15:08:43 67

原创 C#编程语言基础01

C#HelloW//引入命名空间using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;/* * 多行注释 * 这是的第一个程序 * *///这是一个单行注释//namespace 命名空间namespace FirstProject{ //class 类 class Program

2020-09-23 15:05:52 142

原创 Unity常用API(六)

Unity常用API(六)二十一 . Debug.DrawRay(ray.oridin,ray.direction) 绘制射线,第一个参数是原点,第二个是方向二十二. CharacterController角色控制器.SimpleMove(【vector3】) 简单移动.isGrounded 判断是否到地面上,bool值.Move() 与simpleMove的区别是要*Time.deltatime、而且simpleMove会使用自带的重力OnCOntrollerColliderHit(Cont

2020-09-17 13:20:11 124

原创 Unity常用API(五)

Unity常用API(五)十七、射线检测:一般射线检测要在射线检测的范围内,并且被检测物体要有ColliderRay ray=new Ray(起点,方向);PaycastHit hit; //hit中存放的是射线检测的碰撞信息bool temp=Physics.Raycast(ray,out hit); //具体的重载方法边用边查Ray ray = new Ray(this.transform.position + transform.forward, transform.forward); /

2020-09-17 13:11:47 209 1

原创 Unity常用API(四)

Unity常用API(四)十三. Rigidbody:刚体组件,控制角色的移动position: 可以通过刚体来控制运动,在控制运动方面,使用rigibody.positon比transform.porition计算要快的多,相关的物理计算也是在刚体中计算好了,但是不建议使用这个方法来持续的控制物体的运动,不平滑,控制一两次的时候还可以使用MovePosition() 对position的优化,其中利用了插值运算,一般持续运动的则使用这个方法,不出现卡顿的现象,rotation:MoveRota

2020-09-17 12:51:44 161

原创 Unity常用API(三)

Unity常用API(三)九.Vector2;二维向量1.magnitude: 返回向量的长度2.normalized; 返回这个向量长度为1的矢量,不管这个向量多长,也是返回1的矢量,只是返回值,不对原向量的值产生影响3.Normalize() 无参数的,也是向量化,但是调用该方法会改变原向量值,使其的值被向量化 了4.ClampMagnitude() ;将一个向量限制在参数中指定的长度之间5.MoveToWards() 用来做匀速的运动,由一个位置向另一个位置进行移动6.sqrMagnitu

2020-09-17 12:25:25 317

原创 Unity常用API(二)

Unity常用API(二)五. Coroutines:协程:1、定义协程:IEnumerator 方法名(){yield return 0/null ;yield return new WaitForSeconds(1.0f); //等待一定时间在运行下面的代码}2、开启协程:StartCoroutines(方法名());说明:协程开启会继续执行下面代码,不会等协程方法运行完再执行接下来的方法3、开启与关闭协程时,StartCoriutine(参数)、StopCoroutine(参数) 其中的

2020-09-17 11:54:15 224

原创 Unity常用API(一)

Unity常用API一. Event Function:事件函数1.Reset() :被附加脚本时、在游戏物体的组件上按Reset时会触发该事件函数2.Start() :在游戏初始化时会执行一次3.Update() :每一帧都会运行这个方法4.FixedUpdate(): 会在指定帧调用该方法多少次5.LateUpdate(): 晚于Update的运行顺序,但是FPS和Update是一样的6.Awake() Start() : 都是在游戏物体初始化运行一次,但是Awake的运行顺序高于St

2020-09-16 23:08:49 453

空空如也

空空如也

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

TA关注的人

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