【发布时间】:2018-10-18 14:39:47
【问题描述】:
我正在创建一个捐赠应用程序,它读取文本框中的输入,将其转换为双精度。然后使用operatingCost的方法,它应该把转换后的两倍除以17%(营业费)。目前在该方法中,我有变量dontationBFees 进来,然后除以17 并创建一个新变量afterFees。我遇到的问题是我需要在这个项目中通过 ref 传递,我似乎无法访问 afterFees 变量。我需要获取 ref afterFees 并将其显示给我的 afterFeesBox。我的按钮on_click 也有这个方法。任何帮助将不胜感激。以下是我的代码:
private Double donationBFees = 0;
private void button1_Click(object sender, EventArgs e)
{
String donationBeforeFees;
Double aFees;
String totalDonationRaised;
donationBeforeFees = donationBox.Text;
donationBFees = System.Convert.ToDouble(donationBeforeFees);
void operatingCost(ref double afterFees)
{
afterFees = (donationBFees / 17);
}
afterFeesBox.Text = operatingCost(ref afterFees);
}
【问题讨论】:
-
你如何/在哪里声明
afterFees? -
旁注:对于货币价值,使用
decimal:stackoverflow.com/questions/1165761/… -
重构建议:将您的
void operatingCost(ref double afterFees)方法放在您的点击事件方法之外。顺便提一句。它返回void- 您不能以这种方式将其分配给文本属性。我会执行以下操作:将您的方法更改为double operatingCost(double fees)像afterFees = operatingCost(donationBFees)一样调用它 - 不需要参考。一切未经测试,请检查它是否仍然是您想要的输出! -
“我需要在这个项目中通过 ref” - 为什么?
-
@Greg 我在方法中声明了 afterFees,它也在那里创建。
标签: c# onclick pass-by-reference