c# - 使用或不使用 "this"关键字来引用同一类中的方法有区别吗?

标签 c# .net oop

<分区>

Possible Duplicate:
When do you use the “this” keyword?

如果我有下面的例子:

public class MyClass {

private void MyMethod1()
{
    ...
}

private void MyMethod2()
{
    this.MyMethod1();
    ...
}

在“MyMethod2”中使用“this.MyMethod1()”或仅使用“MyMethod1()”有区别吗?性能、安全性、良好实践或其他什么?我问这个,因为通常我不使用“this”来调用同一个类中的方法,但我得到了使用它的其他人开发的代码......也许我错了......或者不是!

抱歉,这个问题看起来很愚蠢,但毕竟我“很好奇”。谢谢!

最佳答案

在那个具体的例子中没有区别——它将编译成相同的字节码。

只有当局部变量或参数与您要调用的方法同名时才会有所不同,在这种情况下您需要编写 this 来引用该成员而不是局部变量。

关于c# - 使用或不使用 "this"关键字来引用同一类中的方法有区别吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3526161/

相关文章:

c# - 如何在负载平衡的 Azure 虚拟机上使用 SessionState

c# - 根据 C# 中的实例化类,利用不同的依赖项

c# - 指定的初始化向量 (IV) 与该算法的 block 大小不匹配

c# - 在具有特定值的字典中获取第一个 KeyValuePair

c++ - 为什么要使用未命名的命名空间,它们有什么好处?

c# - 集合已更改。未执行可能的盘点操作

c# - 实现抽象工厂模式的正确方法?

c# - 托管 Http 模块的配置文件

Python - 使用 decorator.py 来保存方法文档字符串

java - 我应该公开组合对象吗?