Array
(
)

Flag... Items.

Willian
   - 04 jun 2012

Boa noite pessoal!
Tenho esse bloco de códigos:
#Código

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?

Joel Rodrigues
   - 04 jun 2012

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.

Willian
   - 05 jun 2012

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.

Joel Rodrigues
   - 07 jun 2012

Exatamente! Basta você dizer SE ISSO, FAÇA AQUILO. O contrário já fica subentendido.
No código
#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.