2016-11-05 70 views
-2

我改變了變量名,我根本不想顯示它什麼都沒有回來?

更新:我已經想通了,而不是一個返回方法,我可以直接進入變量。

如果你有興趣,然後解決以下問題繼續進行。

所以我有這樣一個類(比方說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; 
} 

而這另一個類(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++; 
} 

當我做了一個方法,返回EmployeeName,EmployeePosition, EmployeePromotion,EmployeeSalary和EmployeeProductivity它沒有返回值(如空白)。先謝謝你!

編輯:

下面是返回(方法是ClassA的部分) 希望它變得更清晰到每個人

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; 
} 

編輯2的方法:這是我嘗試測試的回報。這裏的想法是列出for循環中的所有內容。我只是將「0」交換成循環中的任何東西。

Employee[0].ReturnEmployeeName(); 

編輯3:這是對環(在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"); 
    } 
} 

循環不打印工資和生產率,但是當我做了一個方法,看它是否會返回一些它像其他人一樣返回空白。

編輯4:每當我這樣做其實有什麼東西在裏面。唯一的問題是當我使用這些方法時。

Console.WriteLine(Employee[0].EmployeeName); 
+1

那麼什麼樣的價值觀,我們如何幫助,如果你不張貼此方法失敗的代碼? – Steve

+0

我想你想從HireEmployee方法返回EmployeeInformation? –

+0

有什麼問題?什麼不回來?支持, –

回答

0

那麼通過查看你發佈的代碼,唯一需要考慮的就是你可能試圖通過使用EmployeeAmount變量來索引EmployeeInformation數組。

鑑於EmployeeAmount你它將始終指數(待插入下一個)的空值的數組中的插入數據之後總是增大。只是可以肯定,以後你添加至少一個記錄試試,看你有Employee[0]

+0

;它只是打印「<項目名稱> .EmployeeInformation」 – Rinne

+0

您必須訪問該對象的單個屬性。嘗試Console.WriteLine(Employee [0] .EmployeeName)(以某種方式將其公開後) – Isaak

+0

哦,嘿!它確實有效。問題是,它只是沒有使用我上面使用的方法返回任何東西。 – Rinne

0

我認爲你需要爲創建屬性:

public string EmployeeName{get;set;}; 
public string EmployeePosition {get;set;}; 
public string PokemonPromotion {get;set;}; 
public int EmployeeSalary {get;set;}; 
public int EmployeeProductivity {get;set;}; 

,那麼你就可以設置和獲取

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

您是否在尋找這個屬性?你可以使用List而不是Array,因爲如果你想添加超過100個元素,它會拋出異常。