C#中类泛型的使用
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace 泛型的使用
{
class Program
{
//1.泛型为了实现使用同一个泛型操作不同数据类型,提高代码重用行 2.类型安全 3.提高性能
static void Main(string[] args)
{
//使用泛型操作int类型
MyGenericArray<int, char> intarrary = new MyGenericArray<int, char>(5);
//给泛型赋值 int
for (int i = 0; i < 5; i++)
{
intarrary.Setitem(i, i * 5);//给泛型数组的每个参数赋值
}
//取值
for (int i = 0; i < 5; i++)
{
Console.WriteLine(intarrary.Getitem(i));
}
//使用泛型操作char类型
MyGenericArray<char, string> chararrary = new MyGenericArray<char, string>(5);
//给泛型赋值 char
for (int i = 0; i < 5; i++)
{
chararrary.Setitem(i, (char)(i + 97));//给泛型数组的每个参数赋值
}
//取值
for (int i = 0; i < 5; i++)
{
Console.WriteLine(chararrary.Getitem(i));
}
Console.ReadLine();
}
}
//可以给参数设置类型 可以设置T或K的限制 :class interface ...
//定义一个泛型 实现多重泛型,多个参数
public class MyGenericArray<T, K> where T : struct
{
private T[] arrar;
//设置一个构造函数,实例化数组
public MyGenericArray(int index)
{
arrar = new T[index + 1];
}
//获取数组内容
public T Getitem(int index)
{
return arrar[index];
}
//给数组赋值
public void Setitem(int index, T value)
{
arrar[index] = value;
}
}
}

浙公网安备 33010602011771号