练习 - 从方法返回数字
- 10 分钟
你可能经常需要从方法返回数字,并将结果用于其他任务。 在此简短的练习中,练习返回 int 和 double 数据类型,并捕获返回值。
创建返回整数的方法
假设你要去越南,想要创建一个转换货币的简单程序。 可以假定当前汇率为 1 USD = 23500 VND。 在此任务中,编写一个将 USD 转换为 VND 的方法。
在 Visual Studio Code 编辑器中,删除前面练习中的任何现有代码。
在 Visual Studio Code 编辑器中输入以下代码:
double usd = 23.73; int vnd = UsdToVnd(usd); Console.WriteLine($"${usd} USD = ${vnd} VND"); int UsdToVnd(double usd) { }在此步骤中,初始化两个变量以存储 USD 和 VND 值。 请注意,
vnd初始化为UsdToVnd方法的结果。 该方法返回一个整数值,因为 VND 通常以整数表示。 若要显示币种转换的结果,使用Console.WriteLine。接下来,添加代码以执行转换。 使用以下代码更新
UsdToVnd方法:int UsdToVnd(double usd) { int rate = 23500; return (int) (rate * usd); }如果省略返回结果中的强制转换,可看到以下错误:
Cannot implicitly convert type 'double' to 'int'.发生这种情况的原因是编译器尝试强制转换返回的值以匹配方法签名中指定的数据类型。 然而,只有在转换不会导致数据丢失的情况下,隐式强制转换才可用。 返回值必须始终与方法签名中指定的数据类型匹配,因此在此例中,必须强制转换结果。
如有必要,打开 Visual Studio Code 的集成终端面板。
在终端命令提示符处,输入 dotnet run 并将输出与以下内容进行比较:
$23.73 USD = $557655 VND如果代码显示意外结果,则需要查看代码以查找错误并进行更新。 再次运行代码以查看是否已解决问题。 继续更新和运行代码,直到代码生成预期结果。
创建返回双精度数的方法
接下来,创建一个将 VND 转换回 USD 的方法。
在
UsdToVnd方法的末尾创建新的空白代码行。输入以下代码:
double VndToUsd(int vnd) { }使用以下代码更新
VndToUsd方法:double VndToUsd(int vnd) { double rate = 23500; return vnd / rate; }在此例中,需要
rate是double,否则编译器会使用整数除法并返回截断的int值。 USD 需要用十进制数表示。如果将
rate设置为int而不是double,你会注意到编译器不会显示任何错误。 发生这种情况的原因是vnd / rate的值隐式强制转换为方法签名中指定的double数据类型。 创建返回数值的方法时,请务必在方法执行的操作中考虑数据类型。找到对
Console.WriteLine的调用并追加新的空白代码行。 然后,输入以下代码以调用新方法并打印输出:Console.WriteLine($"${vnd} VND = ${VndToUsd(vnd)} USD");
检查你的工作
在此任务中,从集成终端运行应用程序,并验证代码工作正常。 现在就开始吧。
将代码与以下内容进行比较,确保其正确:
double usd = 23.73; int vnd = UsdToVnd(usd); Console.WriteLine($"${usd} USD = ${vnd} VND"); Console.WriteLine($"${vnd} VND = ${VndToUsd(vnd)} USD"); int UsdToVnd(double usd) { int rate = 23500; return (int) (rate * usd); } double VndToUsd(int vnd) { double rate = 23500; return vnd / rate; }使用 Ctrl + S 或使用 Visual Studio Code 的“文件”菜单保存工作。
如有必要,打开 Visual Studio Code 的集成终端面板。
在“资源管理器”面板中,若要在 TestProject 文件夹位置打开终端,请右键单击“TestProject”,然后选择“在集成终端中打开”。
在终端命令提示符处,输入 dotnet run
验证代码是否生成以下输出:
$23.73 USD = $557655 VND $557655 VND = $23.73 USD如果代码显示不同的结果,则需要查看代码以查找错误并进行更新。 再次运行代码以查看是否已解决问题。 继续更新和运行代码,直到代码生成预期结果。