⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 parser.cs

📁 这是.net2005学习不可缺少的教程
💻 CS
字号:
//-----------------------------------------------------------------------
//  This file is part of the Microsoft .NET Framework SDK Code Samples.
// 
//  Copyright (C) Microsoft Corporation.  All rights reserved.
// 
//This source code is intended only as a supplement to Microsoft
//Development Tools and/or on-line documentation.  See these other
//materials for detailed information regarding Microsoft code samples.
// 
//THIS CODE AND INFORMATION ARE PROVIDED AS IS WITHOUT WARRANTY OF ANY
//KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
//IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
//PARTICULAR PURPOSE.
//-----------------------------------------------------------------------

using System;
using System.Globalization;
using System.Reflection;

[assembly: AssemblyVersion("1.0.0.0")]

namespace Microsoft.Samples {
    public class Arguments {
        private String m_arg1;
        private Char   m_op;
        private String m_arg2;

        public String Arg1 {
            get {
                return m_arg1;
            }
            set {
                m_arg1 = value;
                return;
            }
        }

        public Char Operator {
            get {
                return m_op;
            }
            set {
                m_op = value;
                return;
            }
        }

        public String Arg2 {
            get {
                return m_arg2;
            }
            set {
                m_arg2 = value;
                return;
            }
        }
    }

    public class Parser {
        public Arguments Parse(String formula) {

            Arguments args = new Arguments();

            // get the first arg
            char [] opsAndSpace = {' ','+','-','*','/'};

            int pos = formula.IndexOfAny(opsAndSpace);
            args.Arg1 = formula.Substring(0, pos);
            args.Arg2 = args.Arg1;

            // skip whitespace to get to the operator
            while (formula[pos] == ' ') {
                pos++;
            }

            // get the operator
            args.Operator = Convert.ToChar(formula.Substring(pos, 1), CultureInfo.InvariantCulture);

            // skip whitespace to get to the second arg
            pos++;
            while (formula[pos] == ' ') {
                pos++;
            }

            // get the second arg
            args.Arg2 = formula.Substring(pos);

            return args;
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -