c# - 快速访问多个值
问题描述
本身不是 Unity 问题,但它可以帮助我说明这个问题。
属性不能返回多个值。但是,在 Unity Vector3.up 中,Vector3(0, 1, 0) 的简写似乎是这样做的(对我来说,无论如何)。例如,键入 Debug.Log(Vector3.up) 会打印出前面提到的三个值。我不确定到底发生了什么以如此直接的方式访问这三个值。
对于我的知识水平,我试图尽可能多地获取有关类和结构的信息,但我无法弄清楚这一点。有人可以帮我弄这个吗?
解决方案
如果您可以获得源代码,则无需阅读文档;)
=> Vector3.up
确实只是一个速记并返回
public static readonly Vector3.up = new Vector3(0F, 1F, 0F);
而Vector3.ToString
内部确实
public override string ToString() { return ToString(null, CultureInfo.InvariantCulture.NumberFormat); } public string ToString(string format) { return ToString(format, CultureInfo.InvariantCulture.NumberFormat); } public string ToString(string format, IFormatProvider formatProvider) { if (string.IsNullOrEmpty(format)) format = "F1"; return UnityString.Format("({0},{1}, {2})", x.ToString(format, formatProvider), y.ToString(format,formatProvider), z.ToString(format, formatProvider)); }
最后在哪里UnityString.Format
基本上做到了人们所期望的
public static string Format(string fmt, params object[] args) { return String.Format(CultureInfo.InvariantCulture.NumberFormat, fmt, args); }
这里没有更深层次的魔法;)
推荐阅读
- amazon-web-services - 如何在 azure 管道中部署 Elastic beanstalk
- git - 由于缓存凭据错误,无法将代码推送到 Azure DevOps
- django - 酒店预订系统的按日期价格数据库设计(存储每个日期与在运行时计算)
- html - HTML 中的 meta 运行硬刷新
- api - 通过 Java 或 Postman 实现 API 自动化
- reactjs - 我的异步操作在我的 react redux 工具包切片中无休止地调用
- android - Android Studio 上是否有用于 3-D 对象文件(又名 .obj)的 MIME 类型?
- java - 仅在按键时保留事件调度线程条目(Java)
- python - Heroku PIL ModuleNotFoundError:没有名为“图像”的模块
- javascript - 为网站 CMS / REST API 使用 Google App 脚本/表格