Tentei Implementar o HasheSet no código CaixaEletronico. só que qunado eu o implemento, uma parte do código do comboBox da erro:
Error CS0021: Cannot apply indexing with [] to an expression of type 'HashSet'
no caso é nessa linha onde acontece o erro
Conta contaselecionada = contas[indiceSelecionado];
HashSet<Conta> contas;
TotalizadorDeContas SaldoTotal = new TotalizadorDeContas();
TotalizadorDeTributos Tributavel = new TotalizadorDeTributos();
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
contas = new HashSet<Conta>();
Conta c1 = new ContaCorrente();
c1.Titular = new Cliente();
c1.Titular.Nome = "Alexander";
c1.Titular.Emancipado = true;
c1.Titular.Idade = 18;
c1.Titular.CPF = "123456789 - 00";
c1.Numero = 1;
contas.Add(c1);
Conta c2 = new ContaPoupanca();
c2.Titular = new Cliente();
c2.Titular.Nome = "Bassani";
c2.Titular.Emancipado = true;
c2.Titular.Idade = 18;
c2.Titular.CPF = "987654321 - 00";
c2.Numero = 2;
contas.Add(c2);
Conta c3 = new ContaInvestimento();
c3.Titular = new Cliente();
c3.Titular.Nome = "Amaral";
c3.Titular.Emancipado = true;
c3.Titular.Idade = 18;
c3.Titular.CPF = "147896325 - 00";
c3.Numero = 3;
contas.Add(c3);
foreach (Conta conta in contas)
{
if (conta != null)
{
comboContas.Items.Add(conta.Titular.Nome);
comboTransfere.Items.Add(conta.Titular.Nome);
}
}
textSaldoTotal.Text = Convert.ToString(SaldoTotal.valor);
}
public void MostrarConta()
{
foreach(Conta conta in contas)
{
SaldoTotal.AdicionaSaldo(conta);
}
textSaldoTotal.Text = Convert.ToString(SaldoTotal.valor);
foreach (Conta conta in contas)
{
SaldoTotal.RetiraSaldo(conta);
}
int indiceSelecionado = comboContas.SelectedIndex;
Conta contaselecionada = contas[indiceSelecionado];
textNome.Text = contaselecionada.Titular.Nome;
textCPF.Text = contaselecionada.Titular.CPF;
textNumero.Text = Convert.ToString(contaselecionada.Numero);
textSaldo.Text = Convert.ToString(contaselecionada.Saldo);
textRendimento.Text = Convert.ToString(contaselecionada.RendimentoAnual());
}