【问题标题】:How to evaluate single string in IF c#如何在IF c#中评估单个字符串
【发布时间】:2018-07-17 05:12:20
【问题描述】:

是否可以在 c# 中评估单个字符串。字符串本身只会在运行时确定,因此不能事先设置。请看示例:

var a = "a == b";

if(a){
 //do something
}

已编辑:

这是我想要计算的实际示例:

var evaluationToBeDone = "MUST_CE_I = \"MUST_CE_I\"";

if(evaluationToBeDone){
   // i will do something if the above is true
}

【问题讨论】:

  • 不要告诉我们你在做什么,而是解释你想要达到的目标,因为what you are doing makes no sense at all
  • 听起来你可能有一个XY Problem。不要问我们您认为解决方案是什么,而是描述您的实际问题,因为它可能很容易以另一种方式解决。
  • @WadeMartin 好的,我看到了更新。我还想问一件事。什么在控制这个输入? 从哪里获得这种类型的输入?这是你可以控制的吗?
  • @WadeMartin “在运行时构建”是什么意思。请描述这个输入代表什么以及它最终如何进入这个字符串。我真的,真的相信你这里有一个 XY 问题。

标签: c#


【解决方案1】:

我明白你想要做什么,但这种方法没有意义。当你把一个变量变成一个对象时,程序只会把它当作字母来读取,而不是对象内部的任何逻辑。尝试这样做:

var a = "MUST_CE_I"
var b = "\"MUST_CE_I\""

if (a == b)
{
   do stuff
}

我假设您希望您的第二个字符串带有“”引号,所以这应该可以满足您的需求。即使 if 语句总是返回 false,因为两个变量不相等。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-10
    • 2010-12-01
    • 1970-01-01
    • 2017-02-15
    相关资源
    最近更新 更多