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

您什么时候使用“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);}


慕妹3242003
浏览 627回答 3
3回答

暮色呼如

有几种用法这,这个关键字在C#中。对隐藏在类似名称中的成员进行限定让对象将自身作为参数传递给其他方法使对象从方法返回自身声明索引器声明扩展方法传递构造函数之间的参数内部重新分配值类型(Struct)值.调用当前实例上的扩展方法将自身转换为另一种类型在同一个类中定义的链式构造函数您可以避免第一次使用,方法是不具有同名的成员和局部变量,例如遵循常见的命名约定,并使用属性(PASCAL CASE)而不是字段(CAMEL CASE)来避免与局部变量(也是CAMEL CASE)发生冲突。在C#3.0中,可以很容易地将字段转换为属性。

千巷猫影

我不是故意这么说的,但这不重要。我是认真的。看看那些重要的事情:你的项目,你的代码,你的工作,你的个人生活。它们中的任何一个都不会成功取决于您是否使用“this”关键字来限定对字段的访问。此关键字将不会帮助您按时发货。它不会减少bug,也不会对代码质量或可维护性产生任何明显的影响。这不会给你加薪,也不会让你减少在办公室的时间。这真的只是个时尚的问题。如果你喜欢“这个”,那就用它。如果你没有,那就不要。如果您需要它来获得正确的语义,那么使用它。事实上,每个程序员都有自己独特的编程风格。这种风格反映了特定程序员对“最美观的代码”应该是什么样子的概念。根据定义,任何阅读您的代码的其他程序员都会有不同的编程风格。这意味着,总会有一些你做过的事情,而另一个人不喜欢,或者会做一些不同的事情。总有一天,某个人会读你的代码,并抱怨一些事情。我不会为此烦恼的。我只想确保代码在美观上尽可能符合您自己的口味。如果你问10个程序员如何格式化代码,你会得到大约15个不同的意见。需要关注的更好的事情是如何对代码进行分解。事情是抽象的吗?我选了有意义的名字吗?有很多代码重复吗?有什么办法我可以简化吗?我认为,把这些事情做好,将对你的项目、代码、工作和生活产生最大的积极影响。巧合的是,这也可能会使另一个人的牢骚最少。如果您的代码工作正常,易于阅读,并且考虑得很好,那么另一个人将不会仔细检查您如何初始化字段。他只会使用你的代码,惊叹于它的伟大,然后继续做其他的事情。

拉风的咖菲猫

我只在绝对必要时才使用它(当另一个变量跟踪另一个变量时)。如下所示: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指出的,当您需要将其作为参数传递时。(局部变量优先于成员变量)
打开App,查看更多内容
随时随地看视频慕课网APP