属性路径
Understand the role of property paths and the performance considerations when using them.
阅读时间3 分钟最后更新于 1 个月前
属性路径是描述属性在容器对象中的位置的字符串。
概念
可以使用属性路径获取或设置特定路径下的对象的数据,或接受对象子属性上的访问者。
属性路径是由字符串构成的,用于从一个根对象中解析出特定的属性实例。例如,路径 解析 容器内 列表容器的第 13 个元素,该元素嵌套在 容器内。
foo.bar.baz[12]barbazfoo要创建和操作属性路径,请使用 类。
Unity.Properties.PropertyPath您可以使用属性路径来执行以下操作:
- 获取或设置特定路径下的对象的数据
- 接受对象的子属性上的访问者
性能注意事项
Unity.Properties.PropertyPath下表列出了从字符串构建属性路径时的分配行为:
String | 长度 | 分配 | 分配原因 |
|---|---|---|---|
| 1 | 0 | 按原样使用字符串。 |
| 2 | 2 | 将字符串拆分为两部分。 |
| 3 | 3 | 将字符串拆分为两部分并提取索引。 |
| 4 | 4 | |
| 5 | 6 | 为附加部分分配数组。 |
下表列出了从附加部分构建属性路径时的分配行为:
String | 长度 | 分配 | 分配原因 |
|---|---|---|---|
| 1 | 0 | |
| 2 | 0 | |
| 3 | 0 | |
| 4 | 0 | |
| 5 | 1 | 为附加部分分配数组。 |
要优化性能并避免进行内存分配:
- 在启动程序期间初始化和缓存属性路径。
- 组合或附加属性路径部分(最多四个部分),而不是从字符串构建。