Common/Arithmetic.cs

(开头部分) 32KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。


using System;
using System.Collections;

namespace WMPT.Common
{
 
    /// <summary>
    /// CalUtility 的摘要说明
    /// 读算式辅助工具
    /// </summary>
    public class Arithmetic
    {
        private Arithmetic() { }

        #region No01.表达式分割为ArrayList形式
        /// <summary>
        /// 要求表达式以空格\t作为分隔符
        /// 转换表达式折分为:
        /// 变量及数值 ,变量不允许为@
        /// 字符串“”
        /// 运算符号{+、-、*、/、++、+=、--、-=、*=、/=、!、!=、>、>=、>>、<、<=、<>、|、|=、||、&、&=、&&}
        /// 括号{包括(、)}
        /// </summary>
        /// <param name="sExpression"></param>
        /// <returns></returns>
        public static ArrayList ConvertExpression(string sExpression)
        {
            ArrayList alist = new ArrayList();

            string word = null;
            int i = 0;
            string c = "";

            while (i < sExpression.Length)
            {
                #region "
                if (word != null && word != "")
                    if (word.Substring(0, 1) == "\"")
                    {
                        do
                        {
                            c = sExpression[i++].ToString();
                            if (c == "\"") { alist.Add(word + c); word = c = null; break; }
                            else { word += c; c = null; }
                        } while (i < sExpression.Length);
                    }
                if (i > sExpression.Length - 1)
                { alist.Add(word); alist.Add(c); word = c = null; break; }
                #endregion

                #region 字符判别
                switch (c = sExpression[i++].ToString())
                {
                    #region ( )
                    case "\"":
                        if (i > sExpression.Length - 1)
                        { alist.Add(word); alist.Add(c); word = c = null; break; }
                        else
                        {
后面还有 778 行代码,购买后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。