gpt4 book ai didi

C#使用一个操作作为参数

转载 作者:行者123 更新时间:2023-11-30 13:15:40 24 4
gpt4 key购买 nike

我正在尝试创建一个可以对其进行操作的函数 > < == != ETC。我想知道是否可以将其中之一设置为函数的参数,

即:UseOperator("test", >, 0)

如果不是,处理此类问题的最佳方法是什么?也许是一个枚举?

最佳答案

最自然的方法是通过一个委托(delegate),IMO,例如类型 Func<int, int, bool> .不幸的是,您不能将运算符直接转换为委托(delegate) - 但您可以非常简单地编写方法并使用方法组转换:

public void UseOperator(string name, Func<int, int, bool> op, int value)
{
...
}

public static bool GreaterThan(int x, int y, value)
{
return x > y;
}

UseOperator("test", GreaterThan, 0);

Marc Gravell 关于 generic operators 的工作在 MiscUtil可能对你有用。

关于C#使用一个操作作为参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5814758/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com