public partial class frmCalculator : Form
    {
        public frmCalculator()
        {
            InitializeComponent();
        }
        private Operation oper = null;
        //数据操作开关
        private bool Switch = false;
        //输入的第一个数
        private double num1 = 0;
        //输入的第二个数 
        private double num2 = 0;
        //num1 和 num2 的区分
        private bool numDis = false;
        //判断输入的第一个数是否是多位数
        private bool Multiplace1 = false;
        //判断输入的第二个数是否是多位数
        private bool Multiplace2 = false;       
        /// <summary>
        /// 处理输入的数据
        /// </summary>
        /// <param name="defaultNum">当前显示的数据</param>
        /// <param name="number">要加入的数据</param>
        /// <returns>处理后的数据</returns>        private double dateSwitch(string defaultNum, string number)
        {
            string _return = String.Empty;
            if (defaultNum != String.Empty || defaultNum != "0")
                _return = defaultNum;
            
            switch (Switch)
            {
                case false:
                    _return += number.Trim();//trim()返回值类型是string
                    break;
                case true:
                   _return = number.Trim();
                    break;
            }
            return double.Parse(_return.Trim());//parse是将string型转换为浮点型
        }        /// <summary>
        /// 判断输入的是第一个数还是第二个数
        /// </summary>
        /// <param name="defaultNum">当前显示的数据</param>
        /// <param name="number">要加入的数据</param>
        /// <returns>处理后的数据</returns>        private void Judgement(string defaultNum,string number)
        {
            switch (numDis)
            {
                case false:
                    //输入的第一位数是单位数
                    if (!Multiplace1)
                    {
                        txtOperation.Text = String.Empty;
                        Multiplace1 = true;
                        
                    }
                    //输入的第一位数是多位数
                    else
                        txtOperation.Text = defaultNum;
                    num1 = dateSwitch(txtOperation.Text.Trim(), number);
                    txtOperation.Text = num1.ToString();
                    break;
                case true:
                    //输入的第二位数是单位数
                    if (!Multiplace2)
                    {
                        txtOperation.Text = String.Empty;
                        Multiplace2 = true;
                    }
                    //输入的第二位数是多位数
                    else
                        txtOperation.Text = defaultNum;
                    num2 = dateSwitch(txtOperation.Text.Trim(), number);
                    txtOperation.Text = num2.ToString();
                    break;
            }
        }
        private void Form1_Load(object sender, EventArgs e)
        {
            txtOperation.Text = "0";
        }        private void btnOperate_Click(object sender, EventArgs e)
        {
            Button b = sender as Button;
            string id = b.Name;
            switch(id)
            {
                case "btnAdd":
                    oper = OperationFactory.CreateOperation("+");
                    break;
                case "btnSubtraction":
                    oper = OperationFactory.CreateOperation("-");
                    break;
                case "btnMultiplication":
                    oper = OperationFactory.CreateOperation("*");
                    break;
                case "btnDivision":
                    oper = OperationFactory.CreateOperation("/");
                    break;
                
            }
            numDis = true;
            Switch = false;
        }
以上代码是部分代码。dateSwitch()这个方法是什么意思,请大侠给出讲解和注释,谢谢。Judgement()这个方法是什么意思,请大侠给出讲解和注释,谢谢。
实在是看不明白了,我是C#初学者。请多指教 ,谢谢!!!

解决方案 »

  1.   

    /// <summary> 
            /// 处理输入的数据 
            /// </summary> 
            /// <param name="defaultNum">当前显示的数据 </param> 
            /// <param name="number">要加入的数据 </param> 
            /// <returns>处理后的数据 </returns>         private double dateSwitch(string defaultNum, string number) 
            { 
                string _return = String.Empty; 
                //defaultNum是字符串类型,进行判断defaultNum是否为空串
                if (defaultNum != String.Empty || defaultNum != "0") 
                    _return = defaultNum; 
                
                switch (Switch) 
                { //进行两个选择若为false则进行加操作如:"a" + "b" = "ab"
                    case false: 
                        _return += number.Trim();//trim()返回值类型是string 
                        break; 
                    case true: 
                      _return = number.Trim(); 
                        break; 
                } 
                return double.Parse(_return.Trim());//parse是将string型转换为浮点型 
            } 
      

  2.   

    switch 
                { //进行两个选择若为false则进行加操作如:"a" + "b" = "ab"
                    case false:
                        _return += number.Trim();//trim()返回值类型是string
                        break;
                    case true:
                      _return = number.Trim();
                        break;
                } 
    当中括号里的(Switch)是啥意思啊! 没看懂!