Description:

Create a class Ball.

Ball objects should accept one argument for "ball type" when instantiated.

If no arguments are given, ball objects should instantiate with a "ball type" of "regular."

using System;

public class Ball {
  public string ballType { get; set; }
  public Ball(){
    ballType = "regular";
  }
  public Ball(string ballType) {
    this.ballType=ballType;
  }
}

其他人的解法:

一:使用了Optional Arguments ,这是C#4.0的新特性。  

What's New in Visual C# 2010 

using System;

public class Ball {
  public string ballType { get; set; }
  
  public Ball(string ballType = "regular") {
    this.ballType = ballType;
  }
}

关于构造函数中使用this ,可以参考这个https://msdn.microsoft.com/zh-cn/library/ms173115(v=vs.110).aspx

using System;

public class Ball {
  public string ballType { get; set; }
  
  public Ball(string ballType) {
     this.ballType = ballType;
  }
  
  public Ball(): this("regular"){}
}

 this:

public Employee(int weeklySalary, int numberOfWeeks)
    : this(weeklySalary * numberOfWeeks)
{
}

The use of the this keyword in the previous example causes this constructor to be called:

public Employee(int annualSalary)
{
    salary = annualSalary;
}

 

相关文章: