我只是不能得到這種方法的工作,我不知道爲什麼。創建一個多輸出的方法
是視覺給我的錯誤是:
錯誤1命名一個局部變量「laborCost」不能在此範圍中聲明,因爲它會給予不同的意義,這是已經在使用「laborCost」,一個「父母或電流」的範圍來表示別的
,這就是我想給: 它只是似乎並沒有要我用同樣的VAR方法中如說明書中,但該方法怎麼會知道要返回什麼呢?
//adds together any other charges from partsLaborGroupBox this is an output method
private void OtherCharges(TextBox partsTextBox,TextBox laborTextBox, out decimal laborCost, out decimal partsCost)
{
decimal laborCost = 0m;
decimal partsCost = 0m;
//this chain goes through the partsLaborTextBox and checks to see if there is input, if so it gets the input
//if input is not valid it will display a message.
if (!string.IsNullOrEmpty(partsTextBox.Text))
{
if(decimal.TryParse(partsTextBox.Text, out partsCost))
{
//do nothing
}
else
{
MessageBox.Show("Invalid input for parts");
}
}
if (!string.IsNullOrEmpty(laborTextBox.Text))
{
if(decimal.TryParse(laborTextBox.Text, out laborCost))
{
//dont need to do anything.
}
else
{
MessageBox.Show("Invalid input for labor");
}
}
}
不要再聲明變量 - 它已經聲明爲參數。只是刪除聲明 - 你傳遞爲'out'這意味着修改參數值將修改您傳遞給方法調用的引用 – Charleh
撇開重複的局部變量/參數名稱,我建議不要有多個返回值這個。只返回一個值是一個好習慣。因此,如果您必須返回兩個值,請將它們包裝在Tuple中並返回它們,而不是使用輸出參數。 –
是的,我看到了Tuple的一些提及,但我還沒有得到那麼多。這是針對一個班級的,而且我正在編寫章節末尾的小編程問題。整個程序並不是我寫這個程序的方式,但這一章是關於方法的,所以我認爲他們只是試圖讓我們儘可能地使用方法,並根據我們已經知道的方法找出解決方案。就我個人而言,我不會讓該方法返回兩個值,但這就是他們希望我做的。 – BrandenS