【发布时间】:2011-07-21 12:57:07
【问题描述】:
我有一个方法:
public static double c(string val)
{
return Math.Round(Convert.ToDouble(val), 4);
}
我传入一个字符串,如果它是双精度数,我想四舍五入然后返回一个双精度数,但如果它是一个字符串,我想按原样返回一个字符串。我传入的所有参数都将以字符串开头,我如何确定它是字符串还是双精度,以及如何重写方法以使返回类型足够灵活以返回其中一个?
理想情况下,我想在 vba 中使用类型变体,但我认为 c# 中没有类似物。
【问题讨论】:
-
为什么要这样做?它将如何使用?您的调用者将期望一个返回类型 - 双精度或字符串,而不是两者。
-
@greg 如果您认为这个问题已经得到解答,您应该接受一个答案。