加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c#泛型

发布时间:2020-12-16 01:22:41 所属栏目:百科 来源:网络整理
导读:泛型(Generic) ?允许您延迟编写类或方法中的编程元素的数据类型的规范,直到实际在程序中使用它的时候。换句话说,泛型允许您编写一个可以与任何数据类型一起工作的类或方法。 使用泛型是一种增强程序功能的技术,具体表现在以下几个方面: 它有助于您最大

泛型(Generic)?允许您延迟编写类或方法中的编程元素的数据类型的规范,直到实际在程序中使用它的时候。换句话说,泛型允许您编写一个可以与任何数据类型一起工作的类或方法。

使用泛型是一种增强程序功能的技术,具体表现在以下几个方面:

  它有助于您最大限度地重用代码、保护类型的安全以及提高性能。

  您可以创建泛型集合类。.NET 框架类库在?System.Collections.Generic?命名空间中包含了一些新的泛型集合类。您可以使用这些泛型集合类来替代?System.Collections?中的集合类。

  您可以创建自己的泛型接口、泛型类、泛型方法、泛型事件和泛型委托。

  您可以对泛型类进行约束以访问特定数据类型的方法。

  关于泛型数据类型中使用的类型的信息可在运行时通过使用反射获取。

泛型可以是委托,也可以是方法

using System;
using System.Collections;
using System.Collections.Generic;
using System.Globalization;
using System.Text;

namespace 编码练习
{
    public class MyGenericeArry<T> {
        private T[] arr { get; set; }
        public MyGenericeArry(int size){
            arr = new T[size];
        }
        public T GetItem(int index) {
            return arr[index];
        }
        public void SetItem(int index,T value) {
            arr[index] = value;
        }
    }
    public class Start {
        public static void Main(string[] args)
        {
            MyGenericeArry<int> intarr = new MyGenericeArry<int>(5);
            for (int i = 0; i < 5; i++)
            {
                intarr.SetItem(i,i*5);
            }
            for (int i = 0; i < 5; i++)
            {
                Console.WriteLine(intarr.GetItem(i));
            }
            MyGenericeArry<char> chararr = new MyGenericeArry<char>(5);
            for (int i = 0; i < 5; i++)
            {
                chararr.SetItem(i,a);
            }
            for (int i = 0; i < 5; i++)
            {
                Console.WriteLine(chararr.GetItem(i)); 
            }
        }
    }
}
using System;
using System.Collections;
using System.Collections.Generic;
using System.Globalization;
using System.Text;

namespace 编码练习
{
    public class Genswap {
        public static void Swap<T>(ref T a1,ref T a2) {
            T temp ;
            temp = a1;
            a1 = a2;
            a2 = temp;
        }
        public static void Main(string[] args)
        {
            int a,b;
            char c,d;
            a = 10;
            b = 5;
            c = a;
            d = b;
            Swap<int>(ref a,ref b);
            Swap<char>(ref c,ref d);
            Console.WriteLine(string.Format($"{a}{b}"));
            Console.WriteLine(string.Format($"{c}{d}"));
        }
    }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读