I need to set a default value to a member class, this value can vary and it's set at the beginning of the execution; I have this so far, minScore is my default value
public class Zones : GeneralIndicator
{
   public int IndicatorType { get; set; } 
   public string Code { get; set; }
   public string Score { get; set; } //TODO: calcular desde aca el score usando el indicatortype
   public double Latitude { get; set; }
   public double Longitude { get; set; }
   private int minScore = 0;
   public void setMinScore(int value)
   {
      minScore = value;
   }
}
I get the minScore value as a parameter when calling the application. What's the best way to set minScore for every object generated in runtime?
                        
Two options:
Create a ZonesFactory class, which takes a defaultMinScore in the constructor (to remember) and has a CreateZones method which creates an instance and sets the min score:
public class ZonesFactory
{
    private readonly int defaultMinScore;
    public ZonesFactory(int defaultMinScore)
    {
        this.defaultMinScore = defaultMinScore;
    }
    public Zones CreateZones()
    {
        return new Zones(defaultMinScore);
    }
}
Note that here I'm assuming you also create a new constructor for Zones which takes the minScore as a parameter. I suggest you get rid of the setMinScore method (which violates .NET naming conventions apart from anything else).
Use a static variable to keep the default, and set it in the Zones constructor
Personally I'd prefer the first of these.
                    See more on this question at Stackoverflow