c#
纪录C#实用功能
小姑娘不爱写代码
性别女,爱好男
展开
-
❤️❤️❤️C#中Mathf数学类分析整理
静态变量:PI:圆周率Epsilon:非常小的小数,小到忽略不计,但是比0大Infinity:无限大NegativeInfinty:无限小(负数)静态方法Abs:绝对值Ceil:向上取整,10.2取11,-10.2取10,返回float类型的整数CeilToInt:向上取整,返回int类型Clamp:Clamp(float value,float min,float max);把value的值限定在一个范围之内ClosestPowerOfTwo:ClosestPowerOfTow(int原创 2021-08-02 10:39:40 · 224 阅读 · 0 评论 -
❤️❤️❤️continue跳过 和 break跳出
//跳过本次循环,还继续下一次循环 for (int i = 0; i < 3; i++) { if (i == 1)continue; }此时:当i=0时循环,i=1时被跳过,继续循环i=2//跳出循环,不再循环 for (int i = 0; i < 3; i++) { if (i == 1) break; }此时:当i=0时循环,i=1时跳出循环,不再继续循环原创 2021-08-02 10:43:23 · 82 阅读 · 0 评论 -
❤️❤️❤️Unity超出视野范围执行的函数——OnBecameInvisible()
在用Unity做游戏的时候,有时会遇到某些对象超出视野范围就不再使用了的情况,比如,发射的子弹超出了视野范围就可以把它删除或者放到对象池里去,那么,我们如何知道这个对象超出视野范围了呢?Untiy中有这样一个方法,超出视野范围就自动调用的函数。OnBecameInvisible()当渲染器不再被任何相机可见时,OnBecameInvisible被调用,也就是说物体离开摄像机的时候会被调用一次。...原创 2021-08-02 10:57:49 · 561 阅读 · 0 评论 -
❤️❤️❤️C#当用到两个命名空间中相同的类时,可为命名空间或类型创建别名而实现
自己创建了一个类,结果跟已有命名空间中的类重复了?或者同事给我一个功能块,里面他的命名空间里的类名和我的类名重合,无论改哪个都很费劲?别急,用这招!using CClass = System.IO.File;//系统的File类using MyClass = My.File;//我的File类namespace My{ class File { public static string myString = "这个是我自己的字符串"; }}public c原创 2021-08-02 11:03:44 · 649 阅读 · 0 评论 -
❤️❤️❤️Unity查找子物体却找不到孙物体?解决!
/// <summary>寻找子、孙全部物体组件</summary> public static List<T> FindChildsComponent<T>(this Transform transform) where T : Component { T[] tList = transform.GetComponentsInChildren<T>(true); ...原创 2021-08-02 11:07:18 · 429 阅读 · 0 评论 -
❤️❤️❤️C#创建二进制序列化器 和 xml序列化器
创建二进制序列化器1.序列化/// <summary>序列化</summary>public static void Serialize(string path, object obj){ FileStream fs = new FileStream(path, FileMode.Create); BinaryFormatter ma = new BinaryFormatter(); ma.Serialize(fs, obj); fs.Clos原创 2021-08-02 11:12:27 · 96 阅读 · 0 评论 -
❤️❤️❤️C#遍历字典的一种方式,要比foreach快一点
/// <summary> 遍历字典的一种方式,要比foreach快一点 </summary> Dictionary<int, string> dic = new Dictionary<int, string>(); void Start() { dic.Add(1,"1"); dic.Add(2, "2"); IDictionaryEnumerator d = dic.GetEnume.原创 2021-08-02 11:27:15 · 301 阅读 · 0 评论 -
❤️❤️❤️C#设计模式——单例模式
前言在项目中如果我们需要一个类只需要单个对象被创建,那么就使用单例模式介绍创建型模式注意1、该类只有唯一一个实例2、该类的实例只能在本类中被创建3、该类必须把自己的实例对外公开步骤1、创建私有静态本类类型字段2、创建公有静态本类类型属性3、在get访问器中判断字段是否为空,若为空则创建实例,返回字段4、构造私有化代码public class Data{ private static Data m_instance; public static Data Inst原创 2021-08-02 11:31:57 · 86 阅读 · 0 评论 -
❤️❤️❤️C#设计模式——外观模式
前言一个项目会分成许多模块,比如三层架构(数据层、UI层、逻辑层),各模块之间会互相调用许多方法,如果直接相互访问那么会造成整个系统很复杂,所以我们需要使用外观模式来降低系统的复杂性介绍是结构型模式内容一个类,这个类中包含了该模块所有对外提供的接口优点减少各个模块之间的依赖,增加安全性、灵活性代码using UnityEngine;using System.Collections;public class UIFacade : SingletonClass<UIFacade&g原创 2021-08-02 11:33:33 · 105 阅读 · 0 评论 -
❤️❤️❤️C#设计模式——状态模式
前言游戏中人物会有各种状态,比如走、跑、跳、攻击,再比如登陆场景、加载场景、游戏场景,这些状态有可能后期会增加,也为了各个状态互不影响,所以我们使用状态模式开发。介绍是行为型模式,为了解决对象根据状态的改变而对行为改变内容1、状态接口:接口中有状态操作方法(比如切换到行走的状态时要播放行走动画)2、状态持有者:当前状态属性,以及设置状态和获取状态的方法。3、每个状态有自己的类:实现状态接口中的方法,写自己状态下具体要做的操作;状态持有者对象,这里不实例化,而是要通过构造函数从客户端传递进来,因原创 2021-08-02 11:34:52 · 93 阅读 · 0 评论 -
❤️❤️❤️C#设计模式——简单工厂模式
前言专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类.(Simple Factory)模式又称为静态工厂方法(Static Factory Method)模式,属于类的创建型模式,通常他根据自变量的不同返回不同类的实例.介绍简单工厂模式实质是由一个工厂类根据传入的参量,动态的决定应该创建出哪一个产品类的实。简单工厂模式实际上不属于23个GOF模式,但他可以作为工厂方法模式(Factory Method)的一个引导。内容工厂角色:是简单工厂的核心,他负责实现创建所有实原创 2021-08-03 14:57:44 · 73 阅读 · 0 评论 -
❤️❤️❤️如何用for和foreach两种方法遍历并输出交错数组中的所有元素。
定义一个交错数组int[][] array = new int[][] { new int[] { 1, 2, 3 }, new int[] { 4, 5, 6, 7, 8, 9 } };用for循环遍历交错数组 for (int i = 0; i < array.Length; i++) { for (int j = 0; j < array[i].Length; j++) { Debug原创 2021-08-03 15:56:36 · 308 阅读 · 0 评论