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

C# Acceder a los campos de una estructura

Estas en el tema de C# Acceder a los campos de una estructura en el foro de .NET en Foros del Web. Hola, este es el código, tiene un espacio de nombres, una classe Personas, con una estructura persona, y en el método rellenar_persona ¿Cómo puedo acceder ...
  #1 (permalink)  
Antiguo 19/04/2006, 11:03
Avatar de 2540EA  
Fecha de Ingreso: mayo-2005
Ubicación: Murcia
Mensajes: 229
Antigüedad: 19 años
Puntos: 0
C# Acceder a los campos de una estructura

Hola, este es el código, tiene un espacio de nombres, una classe Personas, con una estructura persona, y en el método rellenar_persona ¿Cómo puedo acceder al nombre, apellidos, edad y ss de la persona?


namespace Personas
{
class Personas
{
struct persona
{
private string nombre;
private string apellidos;
private byte edad;
private string ss; //Código Seguridad Social

//Constructor
public persona(string nombre, string apellidos, byte edad, string ss)
{
this.nombre = nombre;
this.apellidos = apellidos;
this.edad = edad;
this.ss = ss;
}

//Propiedades
public string Nombre
{
get { return (this.nombre); }
set { this.nombre = value; }
}

public string Apellidos
{
get { return (this.apellidos); }
set { this.apellidos = value; }
}

public byte Edad
{
get { return (this.edad); }
set { this.edad = value; }
}

public string Ss
{
get { return (this.ss); }
set { this.ss = value; }
}
}

void rellenar_persona()
{
System.Console.Write("Nombre: ");
System.Console.ReadLine();
System.Console.Write("Apellidos :");
System.Console.ReadLine();
...
}

public static void Main()
{
System.Console.WriteLine ("De momento nada");
}

}
}


Gracias
  #2 (permalink)  
Antiguo 19/04/2006, 11:49
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
...mm, me surge la duda de porque estás declarando una estructura en este caso... y el tipo de datos byte para la edad no es necesario te podría quedar mejor así:

Cita:
public class Personas {

private string nombre;
private string apellidos;
private int edad;
private string ss; //Código Seguridad Social

//Constructor
public Personas(string nombre, string apellidos, int edad, string ss) {
this.nombre = nombre;
this.apellidos = apellidos;
this.edad = edad;
this.ss = ss;
}

//Propiedades
public string Nombre {
get { return (this.nombre); }
set { this.nombre = value; }
}

public string Apellidos {
get { return (this.apellidos); }
set { this.apellidos = value; }
}

public int Edad {
get { return (this.edad); }
set { this.edad = value; }
}

public string Ss {
get { return (this.ss); }
set { this.ss = value; }
}
}
}

y para acccesa necesitas inicializar tu clase para mandarle la informacion... quedando de ésta forma:

Cita:
Personas p = new Personas("nombre","apellido",24,"seguro");

System.Console.Write("Nombre: " + p.Nombre);
System.Console.ReadLine();
System.Console.Write("Apellidos :" + p.Apellidos);
System.Console.ReadLine();
Salu2
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #3 (permalink)  
Antiguo 19/04/2006, 11:54
Avatar de 2540EA  
Fecha de Ingreso: mayo-2005
Ubicación: Murcia
Mensajes: 229
Antigüedad: 19 años
Puntos: 0
Hola

Gracias por tu respuesta, pero es que me obligan a usar esa estructura, yo se q es mucho mejor como tu planteas.

Saludos
  #4 (permalink)  
Antiguo 19/04/2006, 21:50
 
Fecha de Ingreso: abril-2003
Mensajes: 606
Antigüedad: 21 años
Puntos: 2
Lo usas como una clase:

Código:
Persona p = new Persona();
p.Nombre = Console.ReadLine();
Una estructura es similar a una clase y se recomienda utilizar cuando contiene pocos datos.

Saludos
  #5 (permalink)  
Antiguo 20/04/2006, 01:27
Avatar de 2540EA  
Fecha de Ingreso: mayo-2005
Ubicación: Murcia
Mensajes: 229
Antigüedad: 19 años
Puntos: 0
Hola

Primero gracias, asi si puedeo acceder, pero como tengo el código es una tonteria porque si luego quiero mostrar los datos al ser nombre, ... privados no puedo y lo que quería conseguir era que no se accediera directamente a los campos, pero es mucho más util convertir la estructura en una clase.

Gracias
Saludos
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 13:04.