【问题标题】:Use class object as another type使用类对象作为另一种类型
【发布时间】:2015-01-18 14:29:31
【问题描述】:

很难解释。我创建了一个 Infinity 类,Infinity,例如 Infinity ,它包含一个布尔值,表示无穷大是 + 还是 - 以及运算符重载,因此您可以执行所有这些操作: infinity + int, int - infinity, infinity > int, infinity

这很好,这正是我想要的,但问题是,要使用它,你必须将变量声明为 Infinity,而我不希望这样。 例如,我需要声明一个整数,并将这个 Infinity 分配给它,然后在需要时将其值更改为普通 int。示例:

int data = +Infinity;
......
n = 3;
if (n < data) data = n;

所以问题是,我怎样才能将此 Infinity 分配给任何其他类型的变量(整数、双精度、浮点等),但仍使用 Infinity 运算符。

我的意思是,例如,将 Infinity 对象作为整数传递,并使用它的运算符,直到我为其分配一个正常的 int 值。这可能吗?谢谢。

【问题讨论】:

  • double.PositiveInfinitydouble.NegativeInfinity 怎么样?
  • @Fuex 说了什么。否则,您将得到的最接近的是隐式强制转换。
  • 抱歉没有正确理解问题。你能用伪代码解释一下吗?如果您有泛型类型,则 int data = +Infinity;应该工作。
  • @Fuex 我知道已经有其他 Infinity 类,但我想构建自己的 Infinity 类,这就是重点……无论如何,谢谢

标签: c# class operators infinity


【解决方案1】:

您可以将指定值的值转换为等效的布尔值。 喜欢,

int x=1,2,3;    //It can be anything (int,double etc)
bool result;
if(result=Convert.ToBoolean(x==2)
{ Console.WriteLine("We Won");
    }

【讨论】:

    猜你喜欢
    • 2010-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多