Tag: 算术表达式

C#检查表达式是否为括号有效

表达方式: “(a [i] + { – 1} *(8-9))” 应该返回true,因为写这样的语法是有效的。 每个左支架在正确的位置都有一个靠近的位置,所有支架都处于合法位置。 我尝试通过一个堆栈来做这个,我知道我错在哪里,但我想知道解决这个问题的相关方法。 谢谢! 我可怜的错误代码: string expression = “( a[i]+{-1}*(8-9) ) “; Stack expStack = new Stack(); List rightBracketsHolder = new List(); for (int i = 0; i < expression.Length; i++) { if (expression[i] == '{') { expStack.Push('}'); Console.Write("}" + " "); } else if (expression[i] == […]

如何警告类型转换导致的潜在算术错误?

我正在使用C#编写计算模块,我碰到了这个: double v = 4 / 100; 我知道这是一个错误的初始化,返回v = 0.0而不是v = 0.04 c#规则说我必须确保至少有一个成员是双重的 ,如下所示: double v = (double) 4 / 100; double v = 4.0 / 100; 但是,我有很多涉及整数变量操作的初始化,我觉得懒得逐行浏览我的代码来检测这样的错误。 相反, 是否有可能被编译器警告这个?