已有57人关注
C#经典编程220例——实例018书中的private listG_list_value=new list();不理解
发表在C#图书答疑 2015-02-01
是否精华
版块置顶:
【问题】
  private List<double> G_list_value = //记录累加数值
            new List<double>();
这段代码为什么要这么写?
这么写是什么意思?


【代码】
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Calculator
{
    public partial class Frm_Main : Form
    {
        public Frm_Main()
        {
            InitializeComponent();
        }

        private void btn_0_Click(object sender, EventArgs e)
        {
            if (txt_value.Text.Length < 9)//判断数值是符合规定
            {
                if (G_bl_add)//判断是否刚刚按下+号键
                {
                    txt_value.Clear();//清空数字
                    G_bl_add = false;//刚刚按下数字键
                }
                txt_value.Text += "0";//输入数字0
                G_bl_key = false;//打开+号键开关
            }
        }

        private void btn_1_Click(object sender, EventArgs e)
        {
            if (txt_value.Text.Length < 9)//判断数值是符合规定
            {
                if (G_bl_add)//判断是否刚刚按下+号键
                {
                    txt_value.Clear();//清空数字
                    G_bl_add = false;//刚刚按下数字键
                }
                txt_value.Text += "1";//输入数字1
                G_bl_key = false;//打开+号键开关
            }
        }

        private void btn_2_Click(object sender, EventArgs e)
        {
            if (txt_value.Text.Length < 9)//判断数值是符合规定
            {
                if (G_bl_add)//判断是否刚刚按下+号键
                {
                    txt_value.Clear();//清空数字
                    G_bl_add = false;//刚刚按下数字键
                }
                txt_value.Text += "2";//输入数字2
                G_bl_key = false;//打开+号键开关
            }
        }

        private void btn_3_Click(object sender, EventArgs e)
        {
            if (txt_value.Text.Length < 9)//判断数值是符合规定
            {
                if (G_bl_add)//判断是否刚刚按下+号键
                {
                    txt_value.Clear();//清空数字
                    G_bl_add = false;//刚刚按下数字键
                }
                txt_value.Text += "3";//输入数字3
                G_bl_key = false;//打开+号键开关
            }
        }

        private void btn_4_Click(object sender, EventArgs e)
        {
            if (txt_value.Text.Length < 9)//判断数值是符合规定
            {
                if (G_bl_add)//判断是否刚刚按下+号键
                {
                    txt_value.Clear();//清空数字
                    G_bl_add = false;//刚刚按下数字键
                }
                txt_value.Text += "4";//输入数字4
                G_bl_key = false;//打开+号键开关
            }
        }

        private void btn_5_Click(object sender, EventArgs e)
        {
            if (txt_value.Text.Length < 9)//判断数值是符合规定
            {
                if (G_bl_add)//判断是否刚刚按下+号键
                {
                    txt_value.Clear();//清空数字
                    G_bl_add = false;//刚刚按下数字键
                }
                txt_value.Text += "5";//输入数字5
                G_bl_key = false;//打开+号键开关
            }
        }

        private void btn_6_Click(object sender, EventArgs e)
        {
            if (txt_value.Text.Length < 9)//判断数值是符合规定
            {
                if (G_bl_add)//判断是否刚刚按下+号键
                {
                    txt_value.Clear();//清空数字
                    G_bl_add = false;//刚刚按下数字键
                }
                txt_value.Text += "6";//输入数字6
                G_bl_key = false;//打开+号键开关
            }
        }

        private void btn_7_Click(object sender, EventArgs e)
        {
            if (txt_value.Text.Length < 9)//判断数值是符合规定
            {
                if (G_bl_add)//判断是否刚刚按下+号键
                {
                    txt_value.Clear();//清空数字
                    G_bl_add = false;//刚刚按下数字键
                }
                txt_value.Text += "7";//输入数字7
                G_bl_key = false;//打开+号键开关
            }
        }

        private void btn_8_Click(object sender, EventArgs e)
        {
            if (txt_value.Text.Length < 9)//判断数值是符合规定
            {
                if (G_bl_add)//判断是否刚刚按下+号键
                {
                    txt_value.Clear();//清空数字
                    G_bl_add = false;//刚刚按下数字键
                }
                txt_value.Text += "8";//输入数字8
                G_bl_key = false;//打开+号键开关
            }
        }

        private void btn_9_Click(object sender, EventArgs e)
        {
            if (txt_value.Text.Length < 9)//判断数值是符合规定
            {
                if (G_bl_add)//判断是否刚刚按下+号键
                {
                    txt_value.Clear();//清空数字
                    G_bl_add = false;//刚刚按下数字键
                }
                txt_value.Text += "9";//输入数字9
                G_bl_key = false;//打开+号键开关
            }
        }

       [font size=5][font color=#0000FF]private List<double> G_list_value = //记录累加数值
           [/font] new List<double>();[/font]

        private bool G_bl_add = false;//判断是否刚刚按下+号

        private bool G_bl_value = false;//判断是否刚刚按下=号

        private bool G_bl_key = false;//防止连续按+号

        private void btn_clear_Click(object sender, EventArgs e)
        {
            G_list_value.Clear();//清空集合中数值
            lb_express.Text = GetString();//清空计算表达式
            txt_value.Clear();//清空累加结果
        }

        private void btn_add_Click(object sender, EventArgs e)
        {
            if (G_bl_value)//判断是否刚刚按下=号
            {
                G_bl_value = false;//设置刚刚按下的不是=号
                G_bl_key = true;//设置刚刚按下的是加号
            }
            else
            {
                if (!G_bl_key)//判断是否连续按+号
                {
                    G_list_value.Add(//向集合中添加累加的数值
                        double.Parse(txt_value.Text));
                    GetValue();//计算累加数值并输出
                    lb_express.Text = GetString();//得到数值的字符串表示
                    G_bl_add = true;//设置已经按下+号
                    G_bl_key = true;//防止多次按下+号
                }
            }
        }

        private void btn_num_Click(object sender, EventArgs e)
        {
            if (!G_bl_key)//判断是否连续按下+号
            {
                if (!G_bl_value)//判断是否刚刚按下=号
                {
                    G_list_value.Add(//向集合中添加累加的数值
                        double.Parse(txt_value.Text));
                    GetValue();//计算累加数值并输出
                    lb_express.Text = GetString();//得到数值的字符串表示
                    G_bl_add = true;//设置已经按下+号
                    G_bl_value = true;//设置已经按下=号
                }
            }
        }

        /// <summary>
        /// 方法用于计算累加数值并输出
        /// </summary>
        void GetValue()
        {
            double P_dbl_temp = 0;//定义局部变量
            foreach (double d in G_list_value)//遍历集合
            {
                P_dbl_temp += d;//计算累加结果
            }
            txt_value.Text = P_dbl_temp.ToString();//显示累加结果
        }

        /// <summary>
        /// 方法用于得到数值的字符串表示
        /// </summary>
        /// <returns>返回字符串数值</returns>
        string GetString()
        {
            string P_str_temp = string.Empty;//定义局部变量
            for (int i = 0; i < G_list_value.Count; i++)//遍历集合
            {
                if (i != 0)//判断是否是第一个数值
                {
                    P_str_temp += //产生字符串
                        "+" + G_list_value[i].ToString();
                }
                else
                {
                    P_str_temp = //产生字符串
                        G_list_value[i].ToString();
                }
            }
            return P_str_temp;//返回字符串
        }
    }
}
分享到:
精彩评论 1
小科_mrkj
学分:43 LV2
2015-02-02
沙发
读者朋友:
    您好,这行代码是创建了一个List泛型集合,里面存储的数据的类型是double类型的。
首页上一页 1 下一页尾页 1 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照