1ª pregunta
--------------------------------------
Hola, tengo un proyecto Consola con una clase que crea un
ArrayList y lo inicializa:
Código:
ArrayList Frutas=new ArrayList();
Frutas.Add("Manzana");
Frutas.Add("Pera");
Frutas.Add("Naranja");
Frutas.Add("Platano");
A contianuacion quiero borrar el elemento con posicion
buscoItem que escriba el usuario por Consola:
Código:
int buscoItem;
Console.WriteLine("Que elemento borro? dame su posicion: ");
buscoItem=int.Parse(Console.ReadLine());
Frutas.RemoveAt(buscoItem);
Pero como sólo hay 4 elementos (4 frutas) si el usuario introduce 10 se sale del rango [0 hasta 3] y da error.
Por lo tanto quiero controlar la excepción mediante try {} catch {} con el siguiente código que me da un error:
Código:
int buscoItem;
Console.WriteLine("Que elemento borro? dame su posicion: ");
try
{
buscoItem=int.Parse(Console.ReadLine());
if (buscoItem<0 || buscoItem>(Frutas.Count)-1) throw new Exception("Item incorrecto");
}// fin try
catch (System.Exception error) {Console.WriteLine(error);}
Frutas.RemoveAt(buscoItem);
El error al compilar que me da es este: Uso de la variable local no asignada 'buscoItem'
Este error me ha salido en otros ejemplos que he hecho (Usando un vectores de int, sortedlist... )
y aunque no paro de pensar y revisar, no encuentro la solución
Alguien sabria decirme el por qué??
2ª pregunta
--------------------------------------
Creo una "Cola" de strings:
Código:
Queue ejemploCola = new Queue();
ejemploCola.Enqueue("Primer elemento");
ejemploCola.Enqueue("Segundo elemento");
ejemploCola.Enqueue("Tercer elemento");
ejemploCola.Enqueue("Cuarto elemento");
Copio el contenido de la Cola en un vector de Objectos:
Código:
object contenidoCola = new object[ejemploCola.Count];
contenidoCola=ejemploCola.ToArray();
Y muestro por consola el contenido de los objetos del vector:
Código:
for(int i=0;i<ejemploCola.Count;i++)
{ Console.WriteLine(contenidoCola);
}// fin de FOR
El error está que al ejecutar, en lugar de mostrarme "Primer elemento", "Segundo elemento".... me muestra esto:
System.Object[]
System.Object[]
System.Object[]
System.Object[]
Sabeis el por qué?
He intentado hacer casting de string a los objetos dentro del FOR pero NADA
también he probado a mostrar contenidoCola[i] Dándome el error:
No se puede aplicar la indización con [] a una expresión del tipo 'object'
Me podeis ayudar?