c# - 比较两个相同的对象在 Unity 3D 中返回 false (c#)

标签 c# unity3d

我正在 Unity 3D 上编写 C# 脚本。我有两个相同的 Vector3。当我这样做时:

Debug.Log(vect1);
Debug.Log(vect2);

我得到相同的结果 (500.0, 150.0, 0.0)。问题是,当我执行 vect1.Equals(vect2) 时,我得到了 false!怎么可能?

附言 我确定它们都是 Vector3,因为当我执行 vect1.GetType()vect2.GetType() 时,我总是得到 Vector3.

最佳答案

尽管是 structVector3 通过身份比较实现了 Equals。换句话说,vect1 只有在它们是同一实例时才会等于 vect2

但是,Vector3 确实实现了 == 来测试值是否相等,因此请改用它。

参见 https://msdn.microsoft.com/en-us/library/vstudio/ms128863%28v=vs.90%29.aspx了解详情。

关于c# - 比较两个相同的对象在 Unity 3D 中返回 false (c#),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30353438/

相关文章:

c# - activeSelf 返回 true 且 gameobject 为 false

c# - 查找程序是否安装

c# - asp.net 从查询中获取数据

c# - WPF DataGrid 中基于基础数据集(及其类型)的动态 DataGrid 列

c# - 为什么我不能只在我的方法的嵌套主体中返回,而不是被迫在 main 方法的范围内返回?

unity3d - ACRCloud Unity集成,自定义歌曲

c# - 如何为 HTTP 基本身份验证配置 app.config?

c# - 有没有一种方法可以检测音频输入,并在检测到 bool 值时将其设置为true,否则不会

c# - Unity 5 看不到我的 PS4 Controller

c# - 计算着色器输入 3d float 组