C#泛型

2021-07-04 13:21

阅读:671

标签:class   color   其他   ogr   装箱   添加   派生   性能   需要   

using System.Collections;
using System.Collections.Generic;
using static System.Console;

//泛型 主要优点是性能 与c++模板相似 但c++在使用时需要其源代码
//而.NET泛型可在一种语言中定义,在任何其他.NET语言中使用

namespace lwm
{
    class Program
    {
        static void Main()
        {
            //装箱 拆箱 性能损失大
            var list = new ArrayList();
            list.Add(44);//可添加任意类型

            int i1 = (int)list[0];

            //泛型 类型安全
            var list1 = new Listint>();
            list1.Add(44);
            i1 = list1[0];
            foreach (int i in list1)
                WriteLine(i);

            LinkedListNodeint> list2 = new LinkedListNodeint>();


           ReadKey();

        }
        //自定义泛型类
        public class LinkedListNodewhere T: struct//约束条件,可以没有
            //struct T必须是值类型 class 必须是引用类型
            //IFoo:必须实现接口IFoo 
            //Foo:必须派生自Foo 
            //new():T必须有一个默认构造函数 
            //T2:T必须派生自泛型T2
        {
            public LinkedListNode()
            {//default 将null赋予引用类型,将0赋予值类型
                Value = default(T);
            }
            public LinkedListNode(T value)
            {
                Value = value;
            }

            public T Value { get; private set; }
            public LinkedListNode Next { get; internal set; }
            public LinkedListNode Prev { get; internal set; }
        }
        //自定义泛型结构
        public struct st { }

        //泛型方法
        void fun1()
        {

        }
        //泛型成员方法
        public class MyClass
        {
            public void fun()
            {
                
            }
        }
    }

}

 

C#泛型

标签:class   color   其他   ogr   装箱   添加   派生   性能   需要   

原文地址:https://www.cnblogs.com/xslwm/p/9856506.html

上一篇:C# B站的弹幕提取

下一篇:C#中使用goto


评论


亲,登录后才可以留言!