我有一个C#类的人,我正在努力计算他们的小时数:
Person Person1 = new Person();
Person1.Name = "Paul";
Person1.Age = 38;
Person1.actualGender = Person.Genders.male;
Person1.workedHours = 15.5f;
Person Person2 = new Person();
Person2.Name = "Frank";
Person2.Age = 15;
Person2.actualGender = Person.Genders.female;
Person2.workedHours = 5f;
我可以这样做:
float TotalHours;
TotalHours = Person1.workedHours + Person2.workedHours;
但是我如何在foreach循环中实际执行此操作,因为我必须拥有超过2个人。
我的课程:
{
public string Name { get; set; }
public int Age { get; set; }
public enum Genders { male, female }
public Genders actualGender { get; set; }
public float workedHours { get; set;}
}
答案 0 :(得分:1)
我建议使用一个列表,例如:
构建一个列表来保存你的对象:
$ line='36K total,TOO_MANY_NEWLINE_IN_TEXT_tABLE'
$ [[ $line =~ [0-9]* ]] && echo "$BASH_REMATCH"
36
然后你可以遍历对象并总结他们的List<Person> peopleList = new List<Person>();
// call peopleList.add then add your objects
:
workedHours
使用float totalHours = peopleList.Sum(p => p.workedHours);
循环:
foreach
答案 1 :(得分:1)
您必须在列表中添加对象:
如果你想要一般总和,你可以这样做:
var totalHours = people.Sum(p => p.workedHours);
如果你想要每个人的工作时间,你可以这样做:
foreach (var person in people)
{
var sum = people.Where(p => p.Name.Equals(person.Name)).Sum(p => p.workedHours);
Console.WriteLine(sum);
}