【发布时间】:2023-03-20 18:35:01
【问题描述】:
我有一个字符串表达式 Like(这将是一个字符串)
"Func<int, string> myfunc = (var1 => (var1 == 0 ? 'ok' : var1 == 1 ? 'Running' : 'Fals'));"
我想将此表达式转换为有效的 lambda 表达式 Like
Func<int, string> myfunc = (var1 => (var1 == 0 ? "ok" : var1 == 1 ? "Running" : "Fals"));
如何将我的字符串表达式解析为 lambda
更新
我想我只想通过 .
我认为string.Romove() 很好(任何其他方式都会欣赏)。但我不知道如何删除它?谁来帮帮我
新更新:
我的实际工作是将 c# 语言代码转换为 vb.net 语言代码等。用户输入了类似字符串格式的代码。所以我想将字符串更改为 c# 代码。
【问题讨论】:
-
这不是小事。是什么在创建字符串?用户可以输入任何内容吗?
-
你的实际目标是什么?可能有更直接的方法来完成它。
-
我发布了一个答案。不知道我最终成为了评论。不过感谢您提供的信息,它很有用。
-
@RameshRams:如果您只是从字符串中删除了
",那么您最终会得到一个字符串,而不是可以调用的Func<int, string>。这里的答案是关于从字符串中获取该函数。要删除",只需执行MyString = MyString.Trim('"'); -
好的,基本上这是字符串操作。我们都搞错了,因为您说过要将字符串转换为“lambda”,您似乎想要的是一个包含 C# 代码的字符串来制作 lambda。这仍然不是微不足道的。我已经发布了代码(在上面的评论中)来解决这个特定情况,但不是一般情况。