Foros del Web » Programación para mayores de 30 ;) » .NET »

cola en c# borrar datos

Estas en el tema de cola en c# borrar datos en el foro de .NET en Foros del Web. hola tengo el siguiente problema estoy haciendo una practica de una cola en c# con windows forms le coloque 4 botones 1 enqueue 2 dequeue ...
  #1 (permalink)  
Antiguo 05/05/2015, 09:24
 
Fecha de Ingreso: noviembre-2014
Ubicación: guadalajara
Mensajes: 14
Antigüedad: 9 años, 5 meses
Puntos: 0
Pregunta cola en c# borrar datos

hola tengo el siguiente problema
estoy haciendo una practica de una cola en c# con windows forms
le coloque 4 botones
1 enqueue
2 dequeue
3 peek
4 eliminar todo

el enqueue me agrega los elementos en el listbox
el dequeue me borra el primer elemento q ingreso
y el peek me debe mostrar el primer elemento que entro pero sin borrarlo
y eliminar todo pues borra todo los datos de la cola que estan en el listbox

todo de manera individual funciona bien, pero por ejemplo si ingreso datos
100
320
513
455

el primero que entro fue 100 el dequeue lo elimina entonces mi lista queda asi
320
513
455

y si doy click a peek me tendria que mostrar 320 ya que ahora es el primer elemento en la cola pero no sucede asi me sigue mostrando 100 siendo que ya lo borre del listbox


o si le doy a eliminar todo si me borra todo pero si vuelvo a presionar peek se supone que no debe mostrar nada porque ya no hay nada, pero no es asi me muestra 100 y pues ya no tiene ningun elemento

espero haberme explicado y si alguien me puede orientar
les pongo los codigos de mis botones
no se mucho sobre este lenguaje por eso son muy sencillos mi botones

public partial class frmCola : Form
{
Queue cola = new Queue();
Random rdm = new Random();
int numero = 0;

int cont;
public frmCola()
{
InitializeComponent();
}

private void btnInicio_Click(object sender, EventArgs e)// boton para metodo enqueue
{
int valor = rdm.Next(100, 999);
cola.Enqueue(valor);
lbxLista.Items.Insert(0, valor);


}

private void button1_Click(object sender, EventArgs e)// boton para metodo dequeue
{

try
{
lbxLista.Items.Remove(lbxLista.Items[lbxLista.Items.Count - 1]);
lblContador.Text = Convert.ToString(cola.Count - 1);
}
catch (Exception)
{
MessageBox.Show("Error. [La lista esta vacia. No hay elementos para eliminar]. \n\n *NOTA:\n Agregue elementos para utilizar metodos como este.", "Remover Primero", MessageBoxButtons.OK, MessageBoxIcon.Error);

}
}

private void btnPeek_Click(object sender, EventArgs e) // boton para metodo peek
{

if (numero == null)
{
MessageBox.Show("La lista esta vacia");
}
else
{

MessageBox.Show("PEEK : " + cola.Peek());
}


}

private void btnEliminar_Click(object sender, EventArgs e) // boton eliminar todo
{
if (numero == null)
{
MessageBox.Show("Error. [La lista esta vacia. No hay elementos para eliminar]. \n\n *NOTA:\n Agregue elementos para utilizar metodos como este.", "Remover Primero", MessageBoxButtons.OK, MessageBoxIcon.Error);

}
else
{
lbxLista.Items.Clear();


}

}
  #2 (permalink)  
Antiguo 05/05/2015, 09:33
Avatar de Namiwis  
Fecha de Ingreso: mayo-2013
Ubicación: Crustaceo Cascarudo
Mensajes: 162
Antigüedad: 11 años
Puntos: 10
Respuesta: cola en c# borrar datos

Hola crash_16109

A primera vista te digo, cuando lo eliminas en "dequeue" lo eliminas del ListBox no del objeto Cola, que es quien contiene todos los datos, igual con el "boton eliminar todo" lo eliminas del ListBox no del objeto Cola.

Y cuando lo muestras "peek" muestras el objeto Cola, que en ningun momento se vio alterado, mas que al inicio cuando se lleno.

Saludos
__________________
http://binarysuns.com.mx/
  #3 (permalink)  
Antiguo 05/05/2015, 21:42
 
Fecha de Ingreso: noviembre-2014
Ubicación: guadalajara
Mensajes: 14
Antigüedad: 9 años, 5 meses
Puntos: 0
Respuesta: cola en c# borrar datos

oh entonces debo buscar un metodo que borre lo que hay en el objeto?

Etiquetas: cola, windows
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:52.