“this”这个词是啥意思,“static”是啥意思?

Posted

技术标签:

【中文标题】“this”这个词是啥意思,“static”是啥意思?【英文标题】:What does "this" word means and what does "static" means?“this”这个词是什么意思,“static”是什么意思? 【发布时间】:2018-10-29 15:27:13 【问题描述】:
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,所以不会有循环,所以我会听到仅附加一次音频文件。 但是有人可以解释一下“this”是什么,它的用途是什么,并对“static”关键字做同样的事情吗? 感谢您的帮助,克里斯托夫

【问题讨论】:

您是否尝试查找有关 C# 语言的教程?或者阅读有关这些关键字的文档?我觉得通过阅读这些内容可以更好地解释这些内容,而不是在这里真正解释什么,否则我们将有数百个关键字问题。 @SamiKuhmonen 有点生硬。我认为标记重复将同样有效 @flakes 指示将来在哪里可以找到信息,而不仅仅是欺骗,是生硬和糟糕的吗?下次查看文档会节省大量时间。 我也看过文档和教程,但它们对我来说不太亮 What does "static" mean in C?的可能重复 【参考方案1】:

this 是一个 C# 关键字,它是对运行代码的当前实例的引用。

static 意味着这个变量只有一个内存位置,这意味着即使你有这个类的第二个实例,这个变量也会指向相同的支持数据。

一起使用,这就是“单例模式”。有关更多信息,请参阅 here。

【讨论】:

我用谷歌也看过教程、文档和*** cmets,但他们没有让我理解这些哈哈 @Kristóf 而不是谷歌搜索,你可以尝试在 youtube 上观看一些关于 c# 的基本教程。只是说。 :) 那么需要找到更好的教程。或者,不要看视频,而是阅读一本好的 c# 书籍。看书经历了什么?我有那么老吗? 为什么要抱怨这个问题?在观看、阅读和尝试 C# 教程时,我从来没有看到过更好、更简洁的区分和定义 this 和 static。它也适用于 OP。没有静态的、有价值的实例能够解决这个困境以及这个单一的实例。并且没有考虑到目标和能力中的哪些混淆和/或矛盾,或者巧合和互补的能力会绊倒任何人。尤其是新学员。我认为 OP 的问得如此清楚也值得称赞。每个人都会在某个地方绊倒。 作为好参考资料的意义的例子,拿这个:***.com/questions/572547/…在这种语言中是不一样的。完全没有。但是这个问题真正有趣的是......它是一个静态的,并且结合起来,提供了令人难以置信的力量,我只是有点意识到这个答案。有一些方法可以改进这个问题,现在我看到了 this 和 static 可以一起做什么。它们似乎与 OOP 的任何功能一样强大,但当它们一起使用时,它们会违背它。美丽的。有趣的范式水平。

以上是关于“this”这个词是啥意思,“static”是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章

在计算机科学环境中,“语义”一词是啥意思?

JS中的“绑定”一词是啥意思?

在软件开发过程中提到“工件”这个词是啥意思?它是源代码或文档,还是两者兼而有之?

这两个词是啥意思

属性中的“属性:”一词是啥

Android 图标:光学方块一词是啥意思?