Unity中的C#使用优化
避免装箱拆箱
所谓装箱就是把值类型变成引用类型,比较隐蔽的情况是:把值类型作为Object类型参数的时候,或者返回一个object对象的时候。
第一种:
Debug.Log(string.Format("content: {0}", 1));
非装箱版本:
Debug.Log(string.Format("content: {0}", 1.ToString()));
第二种。众所周知,协程IEnumerator返回的类型是object。当我们想跳过当前帧的时候有三种方式:
yield return null;
yield return 0;
yield return new WaitForFrame();
在这上面三种方法中,第一种为最佳。这是因为第二种需要把0装箱成一个Object,而第三种则需要new一个新对象。如果这个协程经常被调用(每帧),应该选择返回null。
避免高消耗API的频繁调用
包括:
GameObject.GetComponent<T>GameObject.transformGameObject.rigidBodyUnityEngine.Object == null可以使用Assert来代替
提取常用的局部变量为成员变量
反例
class Test : MonoBehavi

本文介绍了Unity中C#编程的优化策略,包括避免装箱拆箱以减少内存开销,减少高消耗API的频繁调用,提取常用局部变量为成员变量以提高效率,以及利用静态常量优化不变对象的使用,同时强调了字符串操作的最佳实践,如使用string.Format和StringBuilder.Append()代替"+"连接字符串。

588

被折叠的 条评论
为什么被折叠?



