Mateus é um bom sinal ela funcionar, bom vamos lá quando utilizamos uma lista não necessariamente precisamos gerenciar as iterações, por boa pratica quando chegar um objeto do tipo conta ele deveria já estar pronto, preenchido eu fiz aqui um exemplo direto nesta resposta não testei o código mas estou escrevendo algo como uma proposta para o seu código. Se tiver alguma dúvida pode interagir aqui.
public class Conta{
public Conta(String nome, int numero){
nome = nome;
numero =numero;
}
public String nome {get; set; };
public int numero {get; set; };
}
public class Banco{
public Banco(String nome){
nome = nome;
contas = new List<Conta>();
}
public String nome {get; set; };
public List<Conta> contas {get; set; };
public void criar(Conta conta){
contas.Add(conta);
}
public int contasCadastradas(){
return contas.Count;
}
}
public class TestConta{
public static void Main(string[] args){
Banco banco = new Banco("Itau");
banco.criar(new Conta("Leandro", 10));
banco.criar(new Conta("Leandro", 11));
System.Console.WriteLine(banco.contasCadastradas());
}
}