【理解】C#实现字符串解析

点击目录传送ฅʕ•̫͡•ʔฅ

C#实现字符串解析
类似于数据结构的一元多项式

字符串解析

对老师代码的理解

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
//能自己实现很重要。。。回去要加把劲了
namespace HL10._10jiSuanQi
{
   
    public enum Opt     //操作的枚举类型
    {
   
        Add,
        Minus,
        Mul,
        Div,
        None
    }
    
    static class StringParse    //解析字符串
    {
   
        public static int Parse(string str)
        {
   
            Stack<int> numStack = new Stack<int>();     //创建一个存放数据的int类型的栈
            Stack<Opt> optStack = new Stack<Opt>();     //创建一个存放运算符的枚举类型(Opt)的栈
            optStack.Push(Opt.None);        //可以理解为将#压入栈中

            bool preDigit = false;  //判断是否为数字
            string curNumStr = string.Empty;    //当前数字,就是将字符串里的数抠出来
            Opt curOpt = Opt.None;
            Opt preOpt = Opt.None;      //定义两个枚举类型的变量,一个用来存放前一个运算符,一个存放当前的运算符,都赋初值None

            //删除多余的运算符
            char[] trimChars = {
    '+', '-', '*', '/' };
            str = str.TrimEnd(trimChars);   //从字符串尾删

            for (int i = 0; i < str.Length; i++)
            {
   
                //如果当前字符是数字
                if(char.IsDigit(str[i]) == true
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值