使用变量作为vb.net的符号
我正在写一个非常简单的数学游戏。我希望能够做到的是:使用变量作为vb.net的符号,.net,vb.net,.net,Vb.net,我正在写一个非常简单的数学游戏。我希望能够做到的是: Dim symbol as String Private Sub Math() symbol = "+" 1 symbol 1 = 2 symbol = "-" 1 symbol 1 = 0 end sub 我知道这不起作用,但这正是我想要的想法,提前谢谢。使用if-else或switch case,在条件中使用实际符号,如 if symbol == "+": return a+b; if symbol
Dim symbol as String
Private Sub Math()
symbol = "+"
1 symbol 1 = 2
symbol = "-"
1 symbol 1 = 0
end sub
我知道这不起作用,但这正是我想要的想法,提前谢谢。使用if-else或switch case,在条件中使用实际符号,如
if symbol == "+":
return a+b;
if symbol == "-":
return a-b;
正如Marc Gravell已经提到的,可以使用lambda表达式。以下是它在VB中的工作方式:
Private Sub Calculate(f As Func(Of Double, Double, Double))
Dim a As Double = 1.5, b As Double = 3.14
Console.WriteLine(f(a,b));
End Sub
然后你会这样调用Calculate:
Calculate(Function(x,y) x+y)
Calculate(Function(x,y) x-y)
Calculate(Function(x,y) x*y)
等待1-1=1? 无论如何,我认为你应该澄清你想用这个做什么;可能一个
Func
就足够了;i、 e.Func op=(x,y)=>x+y;var总和=op(2,3);//5
(显然这是C#,但可以翻译成VB)可能是重复的,谢谢。我是这样理解的。但我必须用尽可能少的代码来完成。有没有一种较短的方法可以做到这一点?没有通用的方法可以将数学符号字符串映射到它所描述的内容。为了使它更适合您的情况,您可以使用三元运算符,如Dim result as Integer=If(symbol=“+”,a+b,a-b)