![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C#
码农_X
0.0
展开
-
线段与矩形 碰撞
线段和矩形进行碰撞检测,查看是否相交 private static bool LineRectIntersection(Vector2 lineStartPoint, Vector2 lineEndPoint, Rect rectangle, ref Vector2 result) { //针对四种不同的情况,进行碰撞检测 Vector2 minXLinePoint = lineStartPoint.x <= lineEndPoint.x ? lineStar原创 2021-02-18 11:15:14 · 512 阅读 · 0 评论 -
C#观察者设计模式
观察者设计模式:观察者模式描述的是一种一对多的关系「一个被观察者对应多个观察者」,当被观察者的状态发生改变时,所有观察者都会得到通知。通俗的理解:观察者模式就是在特定的时刻「被观察者发送通知」干特定的事情「观察者收到通知处理自己相应的事件」观察者模式的三要素:观察者,被观察者,事件「订阅」Observer 模式是一种松耦合的设计模式如果结合委托与事件会非常简单,代码如下:public delegate void MyObserverEventHandler();public class Ob原创 2020-06-21 17:33:18 · 102 阅读 · 0 评论 -
单例模式(unity和C#)
Unity的单例: public static GameManager _instance; private void Awake() { _instance = this;}C#单例: private static GameManager _instance; public static GameManager Instance { get { if(_instance == nu原创 2020-06-21 17:31:22 · 197 阅读 · 0 评论 -
C#实现快速排序
手搓快排快速排序是十分常用的高效率的算法时间复杂度为O(nlogn),空间复杂度为O(n)代码如下:public void QuickSort(int[] arry, int top, int tail) { if (top >= tail) return; int i = top; int j = tail; int temp = arry[top]; while (i < j) {原创 2020-06-21 17:28:28 · 245 阅读 · 0 评论 -
C#协程(IEnumerator与IEnumerable)
IEnumerator##解释:它是一个的集合访问器,使用foreach语句遍历集合或数组时,就是调用 Current、MoveNext()的结果。例子:class Program { static void Main(string[] args) { foreach (int i in Feige.Fei()) { Console.WriteLine("返回的结果是:" + i )原创 2020-06-21 17:22:55 · 596 阅读 · 0 评论 -
C#委托和事件
委托(delegate):1、委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递。2、使用委托可以将多个方法绑定到同一个委托变量,当调用此变量时,可以依次调用所有绑定的方法。事件(Event):Event封装了委托类型的变量,使得在类的内部,不管你声明它是public还是protected,它总是private的。在类的外部,注册“+=”和注销“-=”的访问限定符与你在声明事件时使用的访问符相同。使用方法:委托关键字:delegate 1.声明一个委托 p原创 2020-06-21 17:19:14 · 106 阅读 · 0 评论