1.不能对transform.position.x直接赋值
本质是Vector3不但是结构体而且是一个属性,我们通过属性和方法获取到的结构体实际上获取到的是一个值拷贝,值类型在通过方法传递的时候,所传递的只是值的副本
——用属性和方法返回的结构体是不能修改其字段的
——直接访问公有的结构体是可以修改其字段的
——用属性和方法返回的类的实例,是可以修改其字段的
2.用lineRenderer.SetPosition前一定要先设置点的个数
3.当timescale改变时,time.deltatime也会相应地改变。
4.while循环卡死可能的原因
- 无限循环:while循环的条件一直满足,导致循环无法终止。
- 死锁:多线程环境下,多个线程互相等待对方释放资源,导致程序无法继续执行。
- 资源竞争:多个线程同时访问共享资源,导致数据不一致或者其他问题。
- 内存泄漏:程序在运行过程中,不断申请内存,但没有及时释放,导致内存耗尽,程序无法继续执行。
- 算法问题:程序中存在逻辑错误或者算法问题,导致程序陷入死循环。
5.可以使用C#中的LINQ语句来除去List中的重复数据
using System.Linq;
List<T> distinctList = list.Distinct().ToList();
使用Distinct方法将List中的元素去重,然后使用ToList方法将结果转换为List类型。需要注意的是,Distinct方法默认使用元素的Equals方法进行比较,因此需要确保元素类型T实现了Equals方法。