Существует множество различных ситуаций.
Мне просто нужен пустой список
Ситуация понятна. Мне просто нужно подготовить свой список и предотвратить появление исключения, когда кто-то добавляет элемент в список.
public class CsvFile
{
private List<CsvRow> lines = new List<CsvRow>();
public CsvFile()
{
}
}
Я знаю значения
Я точно знаю, какие значения я хочу иметь по умолчанию, или мне нужно использовать какую-то другую логику.
public class AdminTeam
{
private List<string> usernames;
public AdminTeam()
{
usernames = new List<string>() {"usernameA", "usernameB"};
}
}
или
public class AdminTeam
{
private List<string> usernames;
public AdminTeam()
{
usernames = GetDefaultUsers(2);
}
}
Пустой список с возможными значениями
Иногда я ожидаю пустой список по умолчанию с возможностью добавления значений через другой конструктор.
public class AdminTeam
{
private List<string> usernames = new List<string>();
public AdminTeam()
{
}
public AdminTeam(List<string> admins)
{
admins.ForEach(x => usernames.Add(x));
}
}