C#如何检测字符串中的运算符来计算?

Joh*_*ann -3 c# operator-keyword

假设程序接收输入字符串"8*10+6/2"并且应该输出83,在这种情况下.如何处理运营商?

我可以将字符串切成单个字符串,然后检测它是数字还是运算符.如果是操作员我可以将其转换为int.但我不知道如何处理运算符,以便计算工作.

Tim*_*ter 7

你可以使用DataTable.Compute- "技巧":

double result = (double)new DataTable().Compute("8*10+6/2", null);
Run Code Online (Sandbox Code Playgroud)

表达式支持以下算术运算符:

+ (addition)
- (subtraction)
* (multiplication)
/ (division)
% (modulus)
Run Code Online (Sandbox Code Playgroud)

在更多的信息:DataColumn.Expression表达式语法.