Parameterless constructors are used to save you from the default errors, for example suppose if you have parameterized constructor:
public Apple(string color, string taste)
{
data.Color = "red";
data.Taste = "good";
}
sometime you/user may forget to pass the parameter for constructor Apple(x,y). So it is always a good practice to define a parameterless constructor inside the class like:
public Apple()
{
data.Color = "yellow";
data.Taste = "sour";
}
if you forgot to call the constructor with desired parameters value than the default parameterless constructor will be called and the variables will be initialized to default.