Die knappe Antwort:
beschäftige dich mit den grundlagen der Objektorientierung, Single Responsibility Pattern, Repository Pattern und Entity Framework.
Ausführlich:
Dein Problem ist, dass du die grundlegenden Prinzipien der Objektorientierung noch nicht verstanden bzw. verinnerlicht hast. Jede Klasse sollte nur eine Aufgabe haben. Und eine Klasse User ist nicht dazu da, um auch direkt noch User zu verwalten. Z.B. könntest du dafür eine Klasse UserRepository einführen, die User speichert, lädt, anlegt usw.
Beispiel in C#
public class User
{
public string Name {get; set;}
public int Age {get; set; }
}
public class UserRepository
{
public IEnumerable<User> GetAllUsers()
{
//Deine Implementierung inkl. Datenzugriffstechnologie
//Beispiel Entitiy Frameworks
using(var context = new DbContext())
{
return context.Users.toList();
}
}
}
Was deine Frage bezüglich des Durchschnitts angeht:
Du hast doch hier eine klare fachliche Funktion die du also separat kapseln kannst, z.B. in eine Klasse UserCalculations:
public class UserCalculations
{
public int UserAgeAverage()
{
var userRepo = new UserRepository();
var users = userRepo.GetAllUsers();
int sumAge;
foreach(var user in users)
{
sumAge += user.Age;
}
return sumAge / users.Count;
}
}