【问题标题】:Is it possible to apply math operations from a list in C# 4.0 [duplicate]是否可以从 C# 4.0 的列表中应用数学运算 [重复]
【发布时间】:2012-10-21 06:27:25
【问题描述】:

可能重复:
C# dynamic operator

我不知道这是否可能,但让我问一下:

例如我从一个列表生成一个简单的数学运算

比如

List lstMat={=,+,-}

然后我生成一个介于 0-2 之间的随机值并从该列表中选择该运算符

比如

    int ir1=1;
    int ir2=2;

    int irNew=    ir1 lstMat[1] ir2 ;
    //irNew would be 3

这可能吗?

【问题讨论】:

  • 是的,有可能。这能回答你的问题吗?
  • @dtb,好吧,OP 当然可以设计实现其目标的代码(一般而言),但ir1 lstMat[1] ir2 永远无法编译。

标签: c# list c#-4.0 operators


【解决方案1】:

我能想到的最接近的东西

List<Func<int, int, int>> lstMat = new List<Func<int, int, int>>()
{
    (x,y)=>x.CompareTo(y),
    (x,y)=>x+y,
    (x,y)=>x-y
};

int ir1=1;
int ir2=2;

int irNew= lstMat[1](ir1,ir2);

【讨论】:

  • +1 您可能希望首先插入(x,y)=&gt;x.CompareTo(y),
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-01-27
  • 1970-01-01
  • 2012-09-04
  • 1970-01-01
  • 2015-07-10
  • 1970-01-01
  • 2019-10-16
相关资源
最近更新 更多