【问题标题】:Is there a way to simplify this ternary expression?有没有办法简化这个三元表达式?
【发布时间】:2020-02-18 21:49:58
【问题描述】:

我必须将一个数字从一个字符串转换为双精度数,但它应该最多为 15。这是我目前执行此操作的代码:

var num = double.Parse(stringNum, CultureInfo.InvariantCulture);
num = num <= 15 ? num : 15;

有没有办法在一个表达式中做到这一点?

【问题讨论】:

  • Math.Min(num, 15) ?
  • var num = Math.Min(double.Parse(stringNum), 15); 但您可能应该调用double.TryParse()。剩下的没什么大不了的,不管你是否节省了几个打字字符。
  • 有可能,但是你必须单独声明 numdouble num; 保持可读性。

标签: c# ternary-operator


【解决方案1】:

这样做:

double num = Math.Min(double.Parse(stringNum, CultureInfo.InvariantCulture), 15);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-01-07
    • 2021-08-28
    • 1970-01-01
    • 2021-06-22
    • 1970-01-01
    • 2019-04-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多