public void Remover(ContaCorrente item) { int indice = -1; // Encontrar o índice do elemento a ser removido em nosso array interno for (int i = 0; i < _proximaPosicao; i++) { ContaCorrente itemAtual = _itens[i]; if (itemAtual.Equals(item)) { indice = i; break; } } if (indice == -1) { throw new IndexOutOfRangeException("Elemento não encontrado"); } // Deslocar todos os itens à direita do item a ser removido uma posição para a esquerda for (int i = indice; i < _proximaPosicao - 1; i++) { _itens[i] = _itens[i + 1]; } // Decrementar a próxima posição livre e atribuir nulo neste item _proximaPosicao--; _itens[_proximaPosicao] = null; }
public void Remover(ContaCorrente item) { int indiceItem = -1; for (int i = 0; i < _proximaPosicao; i++) { ContaCorrente itemAtual = _itens[i]; if (itemAtual.Equals(item)) { indiceItem = i; break; } } // Quero remover o 0x01 // [0x03] [0x04] [0x05] [null] // ^ // ` _proximaPosicao for (int i = indiceItem; i < _proximaPosicao - 1; i++) { _itens[i] = _itens[i + 1]; } _proximaPosicao--; _itens[_proximaPosicao] = null; }
public void Remover(ContaCorrente item) { int indiceItem = -1;//-1 pois não é permitido no array, será usado depois //próxima posição pois só precisamos das posições com valores for (int i = 0; i < _proximaPosicao; i++) { //simplifica o if ContaCorrente itemAtual = _itens[i]; //equals sobrescrito para comparar agencia e numero if (item.Equals(item)) { indiceItem = i; break; } } //começa em indiceItem pois é a conta no indice encontrado no for acima //será usada para ser removida, vai até a _proximaPosicao = ref nula for (int i = indiceItem; i < _proximaPosicao - 1; i++) { _itens[i] = _itens[i + 1]; } _proximaPosicao--; _itens[_proximaPosicao] = null; }
public void Remover(ContaCorrente item) { // Encontrando índice do item a ser removido int indiceItem = -1; for (int i = 0; i < _proximaPosicao; i++) { ContaCorrente itemAtual = _itens[i]; if (itemAtual.Equals(item)) { indiceItem = i; break; } } // Lançando uma exceção caso o item não seja encontrado if (indiceItem == -1) { throw new ArgumentException("Item não encontrado na lista!", nameof(item)); } // Deslocando todas posições após o índice do item a ser removido para esquerda for (int i = indiceItem; i < _proximaPosicao - 1; i++) { _itens[i] = _itens[i + 1]; } _proximaPosicao--; _itens[_proximaPosicao] = null; }
public void Remover(ContaCorrente item) { int indiceItem = -1; for (int i = 0; i < _proximaPosicao; i++) { ContaCorrente itemAtual = _itens[i]; //Busca pela conta que desejamos remover, se achar, sai do for if (itemAtual.Equals(item)) { indiceItem = i; break; } } //percorre a partir do item que desejamos remover e vai movendo as posições superiores uma posição para baixo for (int i = indiceItem; i < _proximaPosicao - 1; i++) { _itens[i] = _itens[i + 1]; } //Decrementa a última posição, pois agora temos uma posição livre _proximaPosicao--; //Seta a última casa como null pois o valor dela já foi movido para a casa anterior _itens[_proximaPosicao] = null; }
//-------------------------------------------------------------------------------------------------------------------------------------------- public void Remover(ContaCorrente item) { int indiceItem = -1; for (int i = 0; i < _proximaPosicao; i++) { ContaCorrente itemAtual = _itens[i]; if (itemAtual.Equals(item)) { indiceItem = i; break; } } for (int i = indiceItem; i < _proximaPosicao; i++) { _itens[i] = _itens[i + 1]; } /*Ao remover um indice a ltima posição irá ficar nula. por este motivo nos aprocamos o -- * aonde estamos decrementando a ultima posição.*/ _proximaPosicao--; /*Neste local, como a ultima posição já tera algum valor dentro dela. pois movemos todos os vetoresum indice para traz. * então no ultimo indice o valor sera duplicado. Para evitar isto logo apos mover todos os indices o ultimo rece o valor de Null*/ _itens[_proximaPosicao] = null; }
public void Remover(ContaCorrente item) { int indiceItem = -1; for (int i = 0; i < _proximaPosicao; i++) { ContaCorrente itemAtual = _itens[i]; if (itemAtual.Equals(item)) { indiceItem = i; break; } } if (indiceItem == -1) { return; } for (int i = indiceItem; i < _proximaPosicao - 1; i++) { _itens[i] = _itens[i + 1]; } _proximaPosicao--; _itens[_proximaPosicao] = null; }
public void Remover(ContaCorrente item) { int indiceItem = -1; for (int i = 0; i < _proximaPosicao; i++) { if (item.Equals(_itens[i])) { indiceItem = i; break; } } if (indiceItem == -1) { Console.WriteLine("Item não pertence à array."); return; } for (int j = indiceItem; j < _proximaPosicao - 1; j++) { _itens[j] = _itens[j + 1]; } _proximaPosicao--; _itens[_proximaPosicao] = null; Console.WriteLine("Item removido!"); }
public void Remover(ContaCorrente item) { int indiceItem = -1; for (int i = 0; i < _proximaPosicao; i++) { ContaCorrente itemAtual = _itens[i]; if (itemAtual.Equals(item)) { indiceItem = i; break; } } // Quero remover o 0x02 // [0x01] [0x02] [0x03] [null] // ^ _proximaPosicao // for (int i = indiceItem; i < _proximaPosicao - 1; i++) { _itens[i] = _itens[i + 1]; } Console.WriteLine($"Removendo conta {item.Agencia}, {item.Numero}..."); _proximaPosicao--; _itens[_proximaPosicao] = null; }
static void Main(string[] args) { string url = "pagina?moedaOrigem=real&moedaDestino=dolar"; try { ExtratorValorDeArgumentosURL extrator = new ExtratorValorDeArgumentosURL(url); string moedaOrigem = extrator.GetValor("mOedaOrigem"); Console.WriteLine("Moeda origem: " + moedaOrigem); string moedaDestino = extrator.GetValor("MoedaDestino"); Console.WriteLine("Moeda destino: " + moedaDestino); Console.WriteLine("-------------------------------------"); ContaCorrente conta = new ContaCorrente(123, 98989); ContaCorrente conta2 = new ContaCorrente(113, 98989); Console.WriteLine(conta.GetType()); Console.WriteLine(conta.Equals(conta2)); Console.WriteLine(conta.GetHashCode()); //46104728 Console.WriteLine(conta.ToString()); } catch (ArgumentNullException e) { Console.WriteLine(e.Message); } catch (ArgumentException e) { Console.WriteLine(e.Message); } Console.ReadLine(); }
/// <summary> /// Remove <see cref="ContaCorrente"/> do armazenamento do sistema /// </summary> /// <param name="item">Deve der um objeto <see cref="ContaCorrente"/></param> public void Remover(ContaCorrente item) { int indiceItem = -1; // Valor padrão para item não encontrado em arrays; // Faz a busca pelo indice do item passado como argumento for (int i = 0; i < _proximaPosicao; i++) { ContaCorrente itemAtual = _itens[i]; if (itemAtual.Equals(item)) { indiceItem = i; break; } } // Após achar o item, define a sua posição como a posição do item seguinte // E assim continua, até chegar no item anterior a próxima posição for (int i = indiceItem; i < _proximaPosicao - 1; i++) { _itens[i] = _itens[i + 1]; } // Diminui o valor da proximaPosicao em 1 pois um elemento foi excluído // E seta como null para não ficar como valor duplicado _proximaPosicao--; _itens[_proximaPosicao] = null; }
public void remover(ContaCorrente item) { int indiceItem = 1; for (int i = 0; i < _proximaPosicao--; i++) { ContaCorrente itemAtual = _itens[i]; if (itemAtual.Equals(item)) { indiceItem = i; } _proximaPosicao--; _itens[_proximaPosicao] = null; } }
public void Remover(ContaCorrente item) { int indiceItem = -1; for (int i = 0; i < _proximaPosicao; i++) { ContaCorrente itemAtual = _itens[i]; if (itemAtual.Equals(item))//Comparando equivalencia entre objeetos { indiceItem = i; break; } } for (int i = indiceItem; i < _proximaPosicao - 1; i++) { _itens[i] = _itens[i + 1]; } _proximaPosicao--; _itens[_proximaPosicao] = null; }
public void Remover(ContaCorrente item) { int indiceItem = -1; for (int i = 0; i < Tamanho; i++) { ContaCorrente itemAtual = _itens[i]; if (itemAtual.Equals(item)) { indiceItem = i; break; } } for (int i = indiceItem; i < Tamanho - 1; i++) { _itens[i] = _itens[i + 1]; } Tamanho--; _itens[Tamanho] = null; }
public void Remover(ContaCorrente item) { int indiceItem = -1; for (int i = 0; i < _proximaPosicao; i++) { ContaCorrente contaAtual = _itens[i]; if (contaAtual.Equals(item)) { indiceItem = i; break; } } for (int i = indiceItem; i < _proximaPosicao - 1; i++) { _itens[i] = _itens[i + 1]; } _proximaPosicao--; //Resolvendo a última posição _itens[_proximaPosicao] = null; }
public void Remover(ContaCorrente item) { int indiceItem = -1; for (int i = 0; i < _proximaPosicao; i++) { ContaCorrente itemAtual = _itens[i]; // if (_itens[i] == item) //Essa comparação não é valida pois compara o valor da referencia da variavel // //sendo assim nunca seriam igual pois cada uma aponta para um endereço na memoria if (itemAtual.Equals(item)) //Utilizando o método Equals, devemos sobrescrever a implementação padrão para a nossa implementação { indiceItem = i; break; } } //laço para deslocar o indice para esquerda e setar como nulo o ultimo registro valido for (int i = indiceItem; i < _proximaPosicao - 1; i++) { _itens[i] = _itens[i + 1]; } _proximaPosicao--; _itens[_proximaPosicao] = null; }
public void Remover(ContaCorrente item) { int indiceItem = -1; for (int i = 0; i < _proximaPosicao; i++) { ContaCorrente itemAtual = _itens[i]; // equivalencia e não igualdade (o Equals está sobrescrito na classe ContaCorrente pq uma conta corrente é equivalente quando tem o mesmo Numero e Agencia) if (itemAtual.Equals(item)) { indiceItem = i; break; } } for (int i = indiceItem; i < (_proximaPosicao - 1); i++) { _itens[i] = _itens[i + 1]; } _proximaPosicao--; _itens[_proximaPosicao] = null; }