为了账号安全,请及时绑定邮箱和手机立即绑定

您什么时候使用“this”关键字?

您什么时候使用“this”关键字?

慕妹3242003 2019-06-05 14:55:32
您什么时候使用“this”关键字?我很好奇其他人是如何使用这,这个关键词。我倾向于在构造函数中使用它,但在整个类中,我也可能在其他方法中使用它。一些例子:在构造函数中:public Light(Vector v){     this.dir = new Vector(v);}其他地方public void SomeMethod(){     Vector vec = new Vector();     double d = (vec * vec) - (this.radius * this.radius);}
查看完整描述

3 回答

?
暮色呼如

TA贡献1853条经验 获得超9个赞

有几种用法这,这个关键字在C#中。

  1. 对隐藏在类似名称中的成员进行限定

  2. 让对象将自身作为参数传递给其他方法

  3. 使对象从方法返回自身
  4. 声明索引器

  5. 声明扩展方法

  6. 传递构造函数之间的参数

  7. 内部重新分配值类型(Struct)值.

  8. 调用当前实例上的扩展方法
  9. 将自身转换为另一种类型
  10. 在同一个类中定义的链式构造函数

您可以避免第一次使用,方法是不具有同名的成员和局部变量,例如遵循常见的命名约定,并使用属性(PASCAL CASE)而不是字段(CAMEL CASE)来避免与局部变量(也是CAMEL CASE)发生冲突。在C#3.0中,可以很容易地将字段转换为属性。


查看完整回答
反对 回复 2019-06-05
?
千巷猫影

TA贡献1829条经验 获得超7个赞

我不是故意这么说的,但这不重要。

我是认真的。

看看那些重要的事情:你的项目,你的代码,你的工作,你的个人生活。它们中的任何一个都不会成功取决于您是否使用“this”关键字来限定对字段的访问。此关键字将不会帮助您按时发货。它不会减少bug,也不会对代码质量或可维护性产生任何明显的影响。这不会给你加薪,也不会让你减少在办公室的时间。

这真的只是个时尚的问题。如果你喜欢“这个”,那就用它。如果你没有,那就不要。如果您需要它来获得正确的语义,那么使用它。事实上,每个程序员都有自己独特的编程风格。这种风格反映了特定程序员对“最美观的代码”应该是什么样子的概念。根据定义,任何阅读您的代码的其他程序员都会有不同的编程风格。这意味着,总会有一些你做过的事情,而另一个人不喜欢,或者会做一些不同的事情。总有一天,某个人会读你的代码,并抱怨一些事情。

我不会为此烦恼的。我只想确保代码在美观上尽可能符合您自己的口味。如果你问10个程序员如何格式化代码,你会得到大约15个不同的意见。需要关注的更好的事情是如何对代码进行分解。事情是抽象的吗?我选了有意义的名字吗?有很多代码重复吗?有什么办法我可以简化吗?我认为,把这些事情做好,将对你的项目、代码、工作和生活产生最大的积极影响。巧合的是,这也可能会使另一个人的牢骚最少。如果您的代码工作正常,易于阅读,并且考虑得很好,那么另一个人将不会仔细检查您如何初始化字段。他只会使用你的代码,惊叹于它的伟大,然后继续做其他的事情。


查看完整回答
反对 回复 2019-06-05
?
拉风的咖菲猫

TA贡献1995条经验 获得超2个赞

我只在绝对必要时才使用它(当另一个变量跟踪另一个变量时)。如下所示:

class Vector3{
    float x;
    float y;
    float z;

    public Vector3(float x, float y, float z)
    {
        this.x = x;
        this.y = y;
        this.z = z;
    }}

或者正如Ryan Fox指出的,当您需要将其作为参数传递时。(局部变量优先于成员变量)


查看完整回答
反对 回复 2019-06-05
  • 3 回答
  • 0 关注
  • 626 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信