c# - C# 传递一个带有可选默认值的整数变量
问题描述
class Program
{
static void Main(string[] args)
{
WriteLine("What is the radius of your circle: ");
WriteLine("The area of your circle is: " +
circleArea(Double.Parse(ReadLine())).ToString());
ReadKey();
}
static double circleArea(double radius = 5.00)
{
return Math.PI * (radius * radius);
}
}
我以为我设置正确;但是,我收到 System.FormatException 错误:'输入字符串的格式不正确。WriteLine("The area of your circle is: " + circleArea(Double.Parse(ReadLine())).ToString());
没有输入值时在行上。我希望它的默认值为 2。谢谢。
解决方案
您的问题是您需要拆分转换才能测试错误的输入条件。看看这段代码。
Console.WriteLine("What is the radius of your circle: ");
var isNumber = Double.TryParse(Console.ReadLine(), out double number);
if (!isNumber)
number = 0;
Console.WriteLine("The area of your circle is: " + circleArea(number).ToString());
Console.ReadKey();
这将测试一个合法的数字,如果不是,它只是将零作为数字传递。
推荐阅读
- java - 我为 MYSQL 列使用什么数据类型将其连接到 Java 列表
? - c - 简单的 for 循环突然使 C 中的程序崩溃
- java - 为什么我的程序没有运行?我在 Eclipse IDE 中,它没有运行
- ruby - Ruby tty 提示多选字符串
- python - 如何使用pymupdf从较大的pdf中的选定页面中提取文本?
- php - 无法在 laravel 8.x 中使用 Handler.php 的渲染方法
- javascript - ReactJS 和 Javascript:尝试将 JSON 对象设置为状态挂钩时出现“错误:对象作为 React 子项无效”
- django - 如何从某些模型中删除 JWT 身份验证要求?Django Rest API / Axios
- vue.js - 如何在 vue 3 的插槽上使用 v-model?
- mongodb - mongo - cli 丢弃 Failed to mlock: 无法分配锁定的内存