Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/10/2004, 07:54
seomaker
 
Fecha de Ingreso: septiembre-2004
Ubicación: seomaker
Mensajes: 78
Antigüedad: 19 años, 8 meses
Puntos: 0
Pregunta excepciones en C# ||| Objectos en C#

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?
__________________
Cómo hacer una página web

Última edición por seomaker; 29/10/2004 a las 10:19