using System.Collections.Generic;
public int HoursPlayeedPerWeek;
public readonly string GamerStatus;
public Gamer(int hoursPlayedPerWeek, string gamerStatus)
HoursPlayeedPerWeek = hoursPlayedPerWeek;
GamerStatus = gamerStatus;
public Gamer(int hoursPlayedPerWeek)
HoursPlayeedPerWeek = hoursPlayedPerWeek;
GamerStatus = GetGamerStatusFromHoursPlayed(hoursPlayedPerWeek);
public static string GetGamerStatusFromHoursPlayed(int hoursPlayedPerWeek){
if(hoursPlayedPerWeek <= 5){
if(hoursPlayedPerWeek >5 && hoursPlayedPerWeek < 10){
public override string ToString()
return string.Format("Hours per Week: {0}, {1}", HoursPlayeedPerWeek, GamerStatus);
public static void Main()
List<Gamer> gamers = new List<Gamer> {
new Gamer(2, "Enthusiast"),
new Gamer(10, "Enthusiast"),
Console.WriteLine("Original List of Gamers");
var replacements = new Dictionary<int, Gamer>();
foreach (var gamer in gamers)
int gamerIndex = gamers.IndexOf(gamer);
Console.WriteLine("{0}. {1}", gamerIndex+1, gamer);
if (gamer.GamerStatus != Gamer.GetGamerStatusFromHoursPlayed(gamer.HoursPlayeedPerWeek))
replacements.Add(gamerIndex, new Gamer(gamer.HoursPlayeedPerWeek));
foreach (var kvp in replacements)
gamers[kvp.Key] = kvp.Value;
Console.WriteLine("{0}Updated List of Gamers", System.Environment.NewLine, System.Environment.NewLine);
foreach (var gamer in gamers)
int gamerIndex = gamers.IndexOf(gamer);
Console.WriteLine("{0}. {1}", gamerIndex+1, gamer);