What does “this” word means and what does “static” means?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| public class AudioManager : MonoBehaviour
{
private static AudioManager audioManager = null;
private void Start ()
{
if (audioManager != null)
{
Destroy(gameObject);
print(audioManager +"'s self destroy requested.");
}
else
{
audioManager = this;
GameObject.DontDestroyOnLoad(audioManager);
}
}
} |
我知道这段代码的功能,即如果有一个audiomanager,那么这个新的和audiomanager只存在一次,所以audiomanager的音频不会生成一个新的audiomanager,所以不会有循环,所以我只会听到附加的音频文件一次。但是有人能告诉我"这个"是什么,它是用来做什么的吗?用"静态"关键字也是这样做的吗?谢谢你的帮助,克丽丝特
- 你有没有试着找一个关于C语言的教程?或者阅读有关这些关键词的文档?我觉得通过阅读这些内容可以更好地解释这些问题,而不是真正需要在这里解释的内容,否则我们将有数百个关键词问题。
- @萨米库曼有点生硬。我认为标记副本同样有效
- @指示未来从何处寻找信息而不是简单的欺骗的薄片是钝的和坏的?他们下次去看文档会节省很多时间。
- 我也看了文档和教程,但它们对我来说太亮了
- 对于this,可能是重复的:在php中$this意味着什么?.对于static,可能是重复的:在c中"static"是什么意思?
- 在C中,"静态"是什么意思的可能副本?
- @Samikuhmonen是这样的:stackoverflow.com/questions/572547/…?由mods静态生成。
- @NovaSyseng你读过这个问题并回答了吗?你的链接是重复的?我看到他们唯一的共同点就是"静态"这个词。
- @困惑:看我的两条评论:一条链接到this问题,另一条链接到static问题。因为堆栈溢出每个问题只允许一个'duplicate标志,所以只有一个link as duplicate。
- 它们是你的链接,阅读它们。@NovaSyseng,这里有个提示。C不是OOP语言。没有封装,这是静态的,这是在C中专门利用的,使它们在非常不同的语言中变得非常不同。
- @困惑:问题中的代码看起来像C,并用C标记。吃一片感冒药
- 我不是那个把这个问题当作复制品来攻击的人,我完全错了。你是。要么收回你的胡言乱语,不准确的企图,建议将这个问题作为一个副本驳回,或期望你的判断受到挑战…或者阅读你链接的文章来支持你的"论点"。冷静下来…你自己。不要攻击别人的问题,除非你至少部分确定自己的主张是正确的。有足够多的问题要处理,不需要额外的处理,这是错误的。
this是一个C关键字,它是对当前运行代码的实例的引用。
static表示这个变量只有一个内存位置,这意味着即使您有这个类的第二个实例,这个变量也会指向相同的备份数据。
一起使用,这是"单件模式"。请参阅这里了解更多信息。
另外,请先使用谷歌:(
- 我也用谷歌看了教程、文档和StackOverflow评论,但他们不让我理解这些LOL。
- 也许我今天有点暴躁,哈哈
- @克里斯特&243;f你可以尝试在YouTube上观看一些关于c的基本教程,而不是谷歌搜索。只是说。:)
- ,我用谷歌看了教程''
- 然后需要找到更好的教程。或者,与其看视频,不如读一本好书。读书到底发生了什么事?我老了吗?
- 为什么要抱怨这个问题?在观看、阅读和尝试C教程的过程中,我从来没有看到过更好、更简洁的区别,以及这个和静态的定义。它也适用于OP。没有一个静态的、有价值的实例能够解决这个困境以及这个单一的实例。也无法解释在目的和能力上,或者巧合和互补的能力会给任何人带来什么样的混淆和/或矛盾。尤其是新学员。我认为手术室的要求也很明确,值得称赞。每个人都会在某处绊倒。
- 举例说明好的参考资料的重要性,可以这样说:stackoverflow.com/questions/572547/…在这种语言中是不一样的。完全。但这个问题真正有趣的是…它是一个静态的,加上这个,提供了不可思议的能量,我只知道,多亏了这个答案。现在我明白了这个和static可以一起做什么了,有很多方法可以改进这个问题。它们看起来和OOP的任何功能一样强大,但在一起时却与之背道而驰。美丽的。有趣的范例水平。