当前位置: 首页 > 编程语言 > C#

ConvertingStringValuestoOperatorsinC#分享

时间:2023-04-10 13:11:53 C#

ConvertingStringValuestoOperatorsinC#在例子中vargreaterThan=">";变量a=1;变量b=2;if(aConvert.ToOperator(greaterThan)b){...}我读过这个但不太明白如何实现某些东西。C#转换字符串以在逻辑条件下使用Ano建议非常感谢谢谢我不会发布它但认为它可能会有所帮助。当然假设您不需要Jon帖子中的高级通用逻辑。publicstaticclassExtension{publicstaticBooleanOperator(thisstringlogic,intx,inty){switch(logic){case">":returnx>y;case"你可以使用这样的代码,其中greaterThan与所有需要逻辑/运算符的字符串一起使用。如果(greaterThan.Operator(a,b))你真的不能那样做。你能得到的最接近的是:FuncConvertToBinaryConditionOperator(stringop)then:if(ConvertToBinaryConditionOperator(input)(a,b)){}棘手的一点是ConvertToBinaryConditionOperator的作用。您可能想看看MarcGravell在MiscUtil中实现泛型运算符的工作。表达式树可以是在这种情况下非常有用,尽管我相信Marc有一种适用于.NET2的工作方法。所以在这种情况下你可能有类似的东西(使用MiscUtil);案件”;//等默认:抛出新的ArgumentException("op");一种更通用的方法是采用任何IComparable对象。以上就是C#学习教程:ConvertingstringvaluesintooperatorsinC#。如果对大家有用,需要详细了解C#学习教程,希望大家多多关注---publicstaticboolCompare(stringop,Tleft,Tright)whereT:IComparable{switch(op){case"":向左返回。比较(右)>0;case"=":向左返回。比较(右)>=0;case"==":returnleft.Equals(right);case"!=":return!left.Equals(right);默认值:抛出新的ArgumentException(“无效的比较运算符:{0}”,op);}}本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: