Flag... Items.

04/06/2012

0

Boa noite pessoal!

Tenho esse bloco de códigos:

private void button1_Click(object sender, EventArgs e)
        {
            if (textBox1.Text.Replace( , ) != )
            {
                bool flag = false;
                foreach(string item in listBox1.Items)
                {
                    if (textBox1.Text.ToUpper() == item.ToUpper())
                    {
                        flag = true;
                        break;
                    }
                }
                if(!flag)
                    listBox1.Items.Add(textBox1.Text);
            }
            else
                MessageBox.Show(Campo Vazio!!);
        }


Não sei o que faz esse flag, alguém pode me explicar? E na onde item recebe valor p/ comparar com o textBox?
Willian

Willian

Responder

Posts

04/06/2012

Joel Rodrigues

Olá.
A função desse ´flag´ está sendo verificar se o texto digitado no TextBox1 já existe no ListBox. Caso exista, flag=true. Ao final da verificação, se o flag for falso, ou seja, não existe o item na lista, então o texto é adicionado ao ListBox.
Espero ter ajudado.
Boa sorte.
Responder

05/06/2012

Willian

Ainda estou com dúvidas, foi criado uma variável flag do tipo boll recebendo valor false. Certo, criou uma variável item p/ representar os items do listBox, não é? Então se o que for digitado no textBox for igual ao item o flag receberá true, mas como é que ele sabe que não deve ser feito nada? Quero dizer, eu digitei um valor igual ao da lista e realmente não foi adicionado. Mas não consegui ver aí como ele sabe que não deverá fazer nada, pois o flag recebe true, só isso, uma variável recebendo true impediu que adicionasse um outro elemento na lista?! Ou ele não adiciona por causa do outro if que diz se !flag ele adiciona, então automaticamente o contrário disso não faz nada! Devo estar complicando tudo mas é que sou desse jeito mesmo, até não ficar claro tudo perfeitamente... fico imaginando coisas aqui e as complicando. Aliás, exclamação + flag significa diferente de flag?

Agradeço a atenção.
Responder

07/06/2012

Joel Rodrigues

Exatamente! Basta você dizer SE ISSO, FAÇA AQUILO. O contrário já fica subentendido.
No código
if(!flag)
listBox1.Items.Add(textBox1.Text);


O item só é adicionado se !flag, ou seja, se flag for false. Caso flag seja true, não há nada definido para essa situação, logo, nada será feito.
Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar