internal JobType Generate_JobType(Random rs) { var sumFrequence = JobTypes.Sum(t => t.Frequence); var p = rs.NextDouble() * sumFrequence; double sum = 0; for (int i = 0; i < JobTypes.Count; i++) { sum += JobTypes[i].Frequence; if (p < sum) { return(JobTypes[i]); } } return(null); }