C# 中的比较运算符
我有一个模糊的要求。我需要比较两个值。这些值可以是数字或字符串。
我想执行这些操作 >、<、==、<>、>=、<=
在我的方法中,我将传递参数 1、参数 2 和上面的运算符。
如何在 .NET 2.0 中有效地基于运算符比较两个值。
对于字符串和整数输入值,我的方法应该简化。
输入值示例:
param1 | param2 | operator
------------------------------
David Michael >
1 3 ==
I have a vague requirement. I need to compare two values. The values may be a number or a string.
I want to perform these operations >, <, ==,<>, >=,<=
In my method I will pass, the parameter1, parameter 2 and the operators of above.
How can compare the two values based on the operator as effectively in .NET 2.0.
My method should be as simplified for both String and integer input values.
Sample Input Value:
param1 | param2 | operator
------------------------------
David Michael >
1 3 ==
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果两个参数始终具有相同类型,则可以使用通用方法,其中两个参数均实现
IComparable
(.NET 2.0 中引入)(您可以解释以下结果
CompareTo()
取决于您在实现中传递的运算符)Provided both parameters are always of the same type you could use a generic method where both parameters implement
IComparable<T>
(introduced in .NET 2.0)(You can interpret the result of
CompareTo()
depending on the operator your pass in your implementation)如果您必须/想要构建通用版本,则需要将比较作为函数/lambda 传递 - 不可能以通用方式使用运算符。像这样的东西:
If you have to/want to build generic version you need to pass comparison as function/lambda - it is not possible to use operators in generic way. Somithing like: