¿Nada vuelve?

Rinne

Cambié los nombres de las variables, simplemente no deseo mostrarlo

ACTUALIZACIÓN: Lo he descubierto, en lugar de un método de retorno, puedo ir directamente a la variable.

Si está interesado en resolver el siguiente problema, continúe.

Entonces tengo esta clase (digamos ClassA):

string EmployeeName;
string EmployeePosition;
string PokemonPromotion;
int EmployeeSalary;
int EmployeeProductivity;

public EmployeeInformation(string name, string job, string promotion, int salary, int productivity)
{
    EmployeeName = name;
    EmployeePosition = job;
    EmployeePromotion = promotion;
    EmployeeSalary = salary;
    EmployeeProductivity = productivity;
}

Y esto en otra clase (ClassB):

private EmployeeInformation[] Employee;
private int EmployeeAmount;

public Top()
{
    Employee = new EmployeeInformation[100];
    EmployeeAmount = 0;
}

public void HireEmployee(string name, string job, string promotion, int salary, int productivity)
{
    Console.WriteLine("==HIRE PEOPLE==");
    Employee[EmployeeAmount] = new EmployeeInformation(name, job, promotion, salary, productivity);
    EmployeeAmount++;
}

Cuando hice un método para devolver EmployeeName, EmployeePosition, EmployeePromotion, EmployeeSalary y EmployeeProductivity, no devuelve nada (como en blanco). ¡Gracias de antemano!

Editar:

Estos son los métodos para regresar (los métodos son parte de ClassA) Espero que sea más claro para todos

public string ReturnEmployeeName()
{
    return EmployeeName;
}

public string ReturnEmployeePosition()
{
    return EmployeePosition;
}

public string ReturnEmployeePromotion()
{
    return EmployeePromotion;
}

public int ReturnEmployeeSalary()
{
    return EmployeeSalary;
}

public int ReturnEmployeeProductivity()
{
    return Employee Productivity;
}

Edición 2: así es como trato de probar las devoluciones. La idea aquí es enumerar todo en un bucle for. Simplemente cambio el "0" por lo que sea que ponga en el bucle.

Employee[0].ReturnEmployeeName();

Edición 3: este es el bucle for (en ClassB)

public void ListEmployees()
{
    Console.WriteLine("=LIST OF EMPLOYEES=");
    Console.WriteLine("ID" + "\t"
        + "NAME" + "\t"
        + "POSITION" + "\t"
        + "PROMOTION" + "\t");
    for (int i = 0; i < EmployeeAmount; i++)
    {
        Console.WriteLine("{0}", i + 1, "\t"
            , Employee[i].ReturnEmployeeName(), "\t"
            , Employee[i].ReturnEmployeePosition(), "\t"
            , Employee[i].ReturnEmployeePromotion(), "\t");
    }
}

El ciclo no imprime el salario y la productividad, sin embargo, cuando hice un método para ver si devuelve algo, vuelve en blanco como el resto.

Edición 4: Siempre que hago esto, hay algo en él. El único problema es cuando uso los métodos.

Console.WriteLine(Employee[0].EmployeeName);
Isaak

Bueno, con solo mirar el código que publicó, lo único que le viene a la mente es que puede intentar indexar la EmployeeInformationmatriz utilizando la EmployeeAmountvariable.

Dado que EmployeeAmountsiempre aumenta después de insertar datos en la matriz, siempre indexará un valor vacío (el siguiente en insertarse). Solo para estar seguro, después de agregar al menos un registro, intente ver qué valores tiene enEmployee[0]

Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.

En caso de infracción, por favor [email protected] Eliminar

Editado en
0

Déjame decir algunas palabras

0Comentarios
Iniciar sesiónRevisión de participación posterior

Artículos relacionados