-2

我想做一个函数,我不想用不同的类型写很多次。我可以使用“在哪里”和“告诉它”我想要我写的特定类型之一吗?顺便说一句,我需要一个处理整数的函数和另一个处理浮点数的函数。

4

2 回答 2

1

不,你不能。您可以为类型参数应用特定的约束,例如它必须是不可为空的值类型,或者它必须是一个类,或者它必须实现一个接口或其他任何东西......但你不能指定一组类型并说它一定是其中之一。

即使你可以这样做,我怀疑它不会做你想做的事——因为我希望你想对这些类型执行算术。

两种选择:

  • 如果您使用的是 C# 4,则可以使用动态类型。它不会给你编译时的安全性,但如果你小心的话,它会起作用。
  • 您可以在MiscUtil中使用 Marc Gravell 的通用运算符
于 2012-08-12T19:01:37.593 回答
0

您不能静态地将函数限制为仅采用浮点数或整数。为此,您必须在函数内手动检查参数类型。

于 2012-08-12T19:01:55.460 回答