【发布时间】:2016-07-23 05:09:17
【问题描述】:
我只是学习 C#,无法弄清楚这段代码有什么问题。
错误 CS1750 'int' 类型的值不能用作默认参数,因为没有标准转换为 'MidpointRounding' 类型
代码:
public static double MyRound(double value, int point, MidpointRounding midpointRounding = 1)
{
if (!Enum.IsDefined(typeof (MidpointRounding), midpointRounding))
throw new ArgumentOutOfRangeException(nameof(midpointRounding));
decimal num = (decimal)((double)value);
try
{
num = Math.Round(num, point, midpointRounding);
}
catch (Exception exception1)
{
Exception exception = exception1;
MessageBox.Show(exception.Message, "Error : MyRound", MessageBoxButton.OK, MessageBoxImage.Hand);
}
return (double)((double)num);
}
【问题讨论】:
-
你在哪一行得到它?
-
你有一个明确的错误信息告诉你有问题的语句/行是什么。你希望这会做什么?
-
@VisualVincent 错误消息说它是函数声明(因为它说的是默认参数)
-
@kai :好吧,我不是 C# 开发人员,所以……但很高兴知道。 :)
标签: c#