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

Coleccion de objetos en C#

Estas en el tema de Coleccion de objetos en C# en el foro de .NET en Foros del Web. Hola, soy nuevo en el foro, les cuento que estoy aprendiendo C# por mi cuenta osea de la forma autodidacta, tengo conocimientos teoricos de progrmacion ...
  #1 (permalink)  
Antiguo 30/08/2008, 10:38
Avatar de ryugen
Colaborador
 
Fecha de Ingreso: agosto-2008
Ubicación: Rosario, Santa Fe
Mensajes: 350
Antigüedad: 15 años, 7 meses
Puntos: 187
Coleccion de objetos en C#

Hola, soy nuevo en el foro, les cuento que estoy aprendiendo C# por mi cuenta osea de la forma autodidacta, tengo conocimientos teoricos de progrmacion en objetos, pero estoy queriendo aprender C# porque me parece un buen lenguaje para programar, porque los que damos en la facu son muy viejos(C, smalltalk)
Bueno, vamos a la duda.
Lo que quiero hacer es que un objeto de la clase alumno guarde una coleccion con sus notas, pero al tratar de hacerlo con list o con arraylist siempre obtengo un error al compilar, por lo que creo que debo estar haciendo algo mal, espero que alguien me pueda ayudar.
Código:
using System;
using System.Collections.Generic;
using System.Text;
using System.Collections;

namespace PruebasConsola
{

class Alumno
    {
        public string nya;
        public DateTime fechanac;
  
        public ArrayList notas;
        
        public void inicializar()
        {
            ArrayList notas = new ArrayList();
           
        }
                 

        public void addNota(int n)
        {
           this.notas.Add(n);
        }

        public int dameEdad()
        {
            TimeSpan z = DateTime.Now.Subtract(fechanac);
            return (z.Days/365);
        }

       
    }
static void main()
        {
            int nota;
            Alumno pers1 = new Alumno();
            pers1.inicializar();
            Console.WriteLine("Dime tu nombre:");
            pers1.nya = Console.ReadLine();
            Console.WriteLine("dime tu fecha nac (dd/mm/aaaa):");
            pers1.fechanac = Convert.ToDateTime(Console.ReadLine());
            int edad = pers1.dameEdad();
            Console.WriteLine("{0} tiene {1} años", pers1.nya, edad);
            Console.WriteLine("Tienes que cargar tu nota, -1 para salir");
            do
            {

                Console.WriteLine("Dime la nota:");
                nota = int.Parse(Console.ReadLine());
                pers1.addNota(nota);
            } while (nota != -1);
        }

        
    }
Referencia a objeto no establecida como instancia de un objeto. <<<< Ese es el error que me dá
  #2 (permalink)  
Antiguo 30/08/2008, 12:10
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 7 meses
Puntos: 87
Respuesta: Coleccion de objetos en C#

El problema es que en tu evento inicializar estas declaradno otra variable notas al hacer

ArrayList notas=new ArrayList();

y esa solo existe en el ambito de inicializar

solo dejalo asi

public void inicializar()
{
notas = new ArrayList();

}
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #3 (permalink)  
Antiguo 31/08/2008, 09:58
Avatar de ryugen
Colaborador
 
Fecha de Ingreso: agosto-2008
Ubicación: Rosario, Santa Fe
Mensajes: 350
Antigüedad: 15 años, 7 meses
Puntos: 187
Respuesta: Coleccion de objetos en C#

Gracias peter pray, tema solucionado
  #4 (permalink)  
Antiguo 02/09/2008, 12:23
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Respuesta: Coleccion de objetos en C#

de paso te redirecciono al foro correspondiente

movido desde foro de programación . . .
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
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:54.