using System.Collections.Generic;
public class TeamMember {
public TeamMember(List<string> rowValues) {
this.name = rowValues[0];
this.enabled = rowValues[1].ToLower() == "yes";
public class Team: List<TeamMember> {
public Team(List<List<string>> rows) {
this.AddRange(rows.Where(x => !string.IsNullOrEmpty(x[0])).Select(x => new TeamMember(x)));
public List<TeamMember> getEnabledUsers() {
return this.FindAll(member => member.enabled);
public class StringArray2D: List<List<string>> {
public void AddRow(params string[] row){
this.Add(new List<string>(row));
public static void Main()
var data = new StringArray2D();
data.AddRow("Wilson", "Yes");
data.AddRow("Sonny", "Yes");
data.AddRow("Audrey", "No");
var team1 = new Team(data);
var team2 = team1.getEnabledUsers();
Console.WriteLine("{team2.Count} Should return 2. Actual value: " + team2.Count);