我很好奇其他人是如何使用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);
}发布于 2008-08-22 21:12:48
这关键字在C#中有几种用法。
您可以避免第一次使用,方法是不具有同名的成员和局部变量,例如遵循常见的命名约定,并使用属性(Pascal case)而不是字段(camel case)来避免与局部变量(也是camel case)发生冲突。在C# 3.0中,可以使用自动实现的属性轻松地将字段转换为属性。
发布于 2008-08-22 20:42:19
我不是故意这么说的,但没关系。
我是认真的。
看看那些重要的事情:你的项目,你的代码,你的工作,你的个人生活。它们中的任何一个都不会成功取决于您是否使用"this“关键字来限定对字段的访问。此关键字将不会帮助您按时发货。它不会减少bug,也不会对代码质量或可维护性产生任何明显的影响。这不会给你加薪,也不会让你减少在办公室的时间。
这真的只是个时尚问题。如果你喜欢“这个”,那就用它。如果你没有,那就不要。如果你需要它来获得正确的语义,那就使用它。事实上,每个程序员都有自己独特的编程风格。这种风格反映了特定程序员对“最美观的代码”应该是什么样子的概念。根据定义,任何阅读您的代码的其他程序员都会有不同的编程风格。这意味着,总会有一些你做过的事情,而另一个人不喜欢,或者会采取不同的做法。总有一天,某个人会读你的代码,并抱怨一些事情。
我不会为此烦恼的。我只想确保代码在美观上尽可能符合您自己的口味。如果你问10个程序员如何格式化代码,你会得到大约15个不同的意见。需要关注的更好的事情是代码是如何被分解的。事情是抽象的吗?我选了有意义的名字吗?有很多代码重复吗?有什么办法我可以简化吗?我认为,把这些事情做好,将对你的项目、代码、工作和生活产生最大的积极影响。巧合的是,这也可能会使另一个人的牢骚最少。如果您的代码工作正常,易于阅读,并且考虑得很好,那么另一个人将不会仔细检查您如何初始化字段。他只会使用你的代码,惊叹于它的伟大,然后继续做其他的事情。
发布于 2008-08-22 19:26:06
我只在绝对必要时才使用它(当另一个变量跟踪另一个变量时)。如下所示:
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指出的,当您需要将其作为参数传递时。(局部变量优先于成员变量)
https://stackoverflow.com/questions/23250
复制相似问题