C#For循环和做加法

时间:2017-10-08 13:13:03

标签: c# loops foreach

我有一个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;}
}

2 个答案:

答案 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);
        }