C# 高级类型 Dictionary(学习笔记4)

key-value方式,key不可以重复,value可以。

img

namespace WindowsFormsApp1
{
    public partial class Form1 : Form
    {

        public Form1()
        {
            InitializeComponent();
        }

        private static Dictionary<int, string> dictionary = new Dictionary<int, string>
            {
                // 添加
                { 1, "张三" },
                { 2, "李四" },
                { 3, "李四" },
                { 4, "李四" },
                { 5, "李四" },
                { 6, "李四" }
            };

        private static int DICT_KEY = dictionary.Count;

        private readonly string id = "id";
        private readonly string names = "names";


        /// <summary>
        /// 添加数据 
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void BtnAddData_Click(object sender, EventArgs e)
        {
            listView1.BeginUpdate();
            listView1.View = View.Details;
            listView1.Items.Clear();// 清除旧数据
            listView1.Columns.Clear(); //清除列
            listView1.Columns.Add(id, id, 100);
            listView1.Columns.Add(names, names, 100);
            foreach (var item in dictionary)
            {
                listView1.Items.Add(item.Key.ToString()).SubItems.Add(item.Value);

            }
            listView1.EndUpdate();
        }

        /// <summary>
        /// 遍历KEY
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void BtnAllKeyes_Click(object sender, EventArgs e)
        {
            listView1.BeginUpdate();
            listView1.View = View.Details;
            listView1.Items.Clear();// 清除旧数据
            listView1.Columns.Clear(); //清除列
            listView1.Columns.Add(id, id, 100);
            foreach (var item in dictionary)
            {
                listView1.Items.Add(item.Key.ToString());
            }
            listView1.EndUpdate();

        }

        /// <summary>
        /// 遍历数据
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void BtnAllValues_Click(object sender, EventArgs e)
        {
            listView1.BeginUpdate();
            listView1.View = View.Details;
            listView1.Items.Clear();// 清除旧数据
            listView1.Columns.Clear(); //清除列
            listView1.Columns.Add(names, names, 100);
            foreach (var item in dictionary)
            {
                listView1.Items.Add(item.Value);
            }
            listView1.EndUpdate();
        }

        /// <summary>
        ///  遍历字典
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void BtnAllDict_Click(object sender, EventArgs e)
        {
            listView1.BeginUpdate();
            listView1.View = View.Details;
            listView1.Items.Clear();// 清除旧数据
            listView1.Columns.Clear(); //清除列
            listView1.Columns.Add(id, id, 100);
            listView1.Columns.Add(names, names, 100);
            foreach (var item in dictionary)
            {
                listView1.Items.Add(item.Key.ToString()).SubItems.Add(item.Value);

            }
            listView1.EndUpdate();
        }

        /// <summary>
        /// 删除数据
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void BtnDelData_Click(object sender, EventArgs e)
        {
            if (listView1.SelectedItems.Count > 0 && listView1.Columns.ContainsKey(id))
            {
                int intID = Convert.ToInt32(listView1.SelectedItems[0].Text);
                dictionary.Remove(intID);
                listView1.Items.RemoveAt(listView1.SelectedItems[0].Index);
            }
        }

        /// <summary>
        /// 插入数据
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void BtnInsertData_Click(object sender, EventArgs e)
        {
            dictionary.Add(++DICT_KEY, "Test" + Convert.ToString(DICT_KEY));
            if (listView1.Columns.Count > 1)
            {
                listView1.Items.Add(DICT_KEY.ToString()).SubItems.Add(dictionary[DICT_KEY]);
            }
            else if (listView1.Columns.ContainsKey(id))
            {
                listView1.Items.Add(DICT_KEY.ToString());
            }
            else if (listView1.Columns.ContainsKey(names))
            {
                listView1.Items.Add(dictionary[DICT_KEY]);
            }
        }

        /// <summary>
        /// 修改数据
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnEditData_Click(object sender, EventArgs e)
        {
            if (listView1.SelectedItems.Count > 0 && listView1.Columns.ContainsKey(names) && listView1.Columns.Count > 1)
            {
                listView1.SelectedItems[0].SubItems[1].Text = listView1.SelectedItems[0].SubItems[1].Text + "1";
                int key = Convert.ToInt32(listView1.SelectedItems[0].SubItems[0].Text);
                dictionary[key] = listView1.SelectedItems[0].SubItems[1].Text;
            }
        }
    }
}

posted @ 2025-11-16 16:43  huiy_小溪  阅读(3)  评论(0)    收藏  举报