【发布时间】:2021-06-20 06:37:39
【问题描述】:
本身不是 Unity 问题,但它可以帮助我说明这个问题。
属性不能返回多个值。但是,在 Unity Vector3.up 中,Vector3(0, 1, 0) 似乎的简写是这样做的(无论如何对我来说)。例如,键入 Debug.Log(Vector3.up) 会打印出前面提到的三个值。我不确定到底发生了什么以如此直接的方式访问这三个值。
根据我的知识水平,我尝试尽可能多地获取有关类和结构的信息,但我无法弄清楚这一点。有人可以帮我解决这个问题吗?
【问题讨论】:
-
只是猜测,我不知道那个类和 Unity 文档是……特别的。我的猜测:你看到的是
Vector3.ToString()方法的返回值。例如。public string ToString() { return x+y+z;}(伪代码,找不到,不想安装;)) -
不能返回一个以上的值。您将始终拥有像
public bool IsItSomething()这样的签名,它将返回bool。您可以使用 out parameters 或返回包含所有所需值的包装类,或在某些情况下使用 Tuple。