C#在这种情况下使用"this"关键字?

Ale*_*lex 7 c# oop this

我已经完成了OOP课程作业,我设计并编写了一个复杂数字类.为了额外的功劳,我可以做以下事情:

  1. 添加两个复数.该函数将一个复数对象作为参数并返回一个复数对象.当添加两个复数时,调用对象的实部被添加到作为参数传递的复数对象的实部中,并且调用对象的虚部被添加到作为传递的复数对象的虚部中.一个参数.

  2. 减去两个复数.该函数将一个复数对象作为参数并返回一个复数对象.当减去两个复数时,从调用对象的实部中减去作为参数传递的复数对象的实部,并且从作为参数传递的复数对象的虚部从虚部中减去.调用对象.

我编写了这个,我使用this关键字来表示类的当前实例,我的add方法的代码如下,我的subtract方法看起来类似:

 public ComplexNumber Add(ComplexNumber c)
{
    double realPartAdder = c.GetRealPart();
    double complexPartAdder = c.GetComplexPart();

    double realPartCaller = this.GetRealPart();
    double complexPartCaller = this.GetComplexPart();

    double finalRealPart = realPartCaller + realPartAdder;
    double finalComplexPart = complexPartCaller + complexPartAdder;

    ComplexNumber summedComplex = new ComplexNumber(finalRealPart, finalComplexPart);

    return summedComplex;
}
Run Code Online (Sandbox Code Playgroud)

我的问题是:我是否正确地做了这个并且风格很好?(使用this关键字)?

Fre*_*örk 19

this可以讨论关键字的使用,但它通常归结为个人品味.在这种情况下,虽然从技术角度来看是多余的,但我个人认为它增加了清晰度,所以我也会使用它.

  • 当谈到暴露于"初学者"的代码时,它特别好,因为它使语句的目的更明确. (2认同)

Ste*_*ham 6

StyleCop工具中this. 包含的Microsoft编码标准鼓励使用冗余.


Rub*_*ias 6

您还可以重载数学运算符,:

public static ComplexNumber operator +(ComplexNumber c1, ComplexNumber c2)
Run Code Online (Sandbox Code Playgroud)