C# 高级类型 dynamic,list,泛型(学习笔记5)

1. dynamic

.Net Framework4.0新特性,提供了一种弱类型语言特性。
定义的时候不需要指定类型,只在运行时检查,和var不一样。

        /// <summary>
        /// dynamic类型
        /// </summary>
        public void TestDynamic()
        {
            dynamic m = 10;
            dynamic n = "hello";
            m = n;
            MessageBox.Show("Test"); // 显示 Test
        }

2. list

        /// <summary>
        /// list类型
        /// </summary>
        public void TestList()
        {
            List<int> list = new List<int>();
            //添加数据
            list.Add(1);
            list.Add(2);
            list.Add(3);
            list.Add(4);
            list.Add(5);
            // 删除数据
            list.Remove(2); // 根据值=2来删除
            list.RemoveAt(3); // 根据索引来删除,删除了5.
            // 编辑数据 
            list[1] = 2;
            // 查找数据
            if (list.Contains(4))
            {
                MessageBox.Show("存在");
            }
            else
            {
                MessageBox.Show("不存在");
            }
        }

3. 泛型

使用场景:处理逻辑一样,只是传参类型不一样。

  • 常规写法
        /// <summary>
        /// 整数加
        /// </summary>
        /// <param name="i"></param>
        /// <param name="j"></param>
        /// <returns></returns>
        public int add(int i, int j)
        {
            return i + j;
        }

        /// <summary>
        /// 双精度加
        /// </summary>
        /// <param name="i"></param>
        /// <param name="j"></param>
        /// <returns></returns>
        public double add(double i, double j)
        {
            return i + j;
        }
  • 泛型写法
        public T add<T>(T i, T j)
        {
            dynamic dynamicI = i;
            dynamic dynamicJ = j;
            return (T)(dynamicI + dynamicJ);
        }
posted @ 2025-11-16 17:18  huiy_小溪  阅读(7)  评论(0)    收藏  举报