了解泛型基本用法

开发工具与关键技术:Visual Studio
作者:邹铭霞
撰写时间:2020年4月28日

泛型的作用:是类型参数化,类型动态化(使用的时候仅仅是指定类型而已)
用的时候是固定一个确定的类型,没有使用的时候是可以任意类型的代表

C#提供了五种泛型:类,接口,委托,结构和方法。
注意:前面四种是类型,而方法是成员。

泛型允许您编写一个可以与任何数据类型一起工作的类或方法。
可以通过数据类型的替代参数编写类或方法的规范。当编译器遇到类的构造函数或方法的函数调用时,它会生成代码来处理指定的数据类型。

泛型结构

namespace Generic{
	struct date<T>
	    {
	        private T _date;
	        public date(T value)
	        {
	            _date = value;
	        }
	
	        public T Date
	        {
	            get { return _date; }
	            set { _date = value; }
	        }
	}
	class Program{
		static void Main(string[] args){
			var intdate = new date<int>(10);
			var stringdate = new date<string> ("\nhello,Generic");            
			Console.Write(intdate.Date);
			Console.Write(stringdate.Date);
	      	Console.ReadLine();
		}
	}
}

在这里插入图片描述

泛型多类型

namespace Generic{
	class Program
    {
        class multiple<T, TT>
        {
            T[] num = new T[3];
            public multiple(T v0,T v1,T v2){
            num[0] = v0; num[1] = v1; num[2] = v2;
            }

            public void print()
            {
                Console.Write("{0},\t{1},\t{2}", num[0] ,num[1], num[2]);
                Console.Write("\n");
            }
        }
		class Program
		    {
			static void Main(string[] args)
		        {
		            var intmultiple = new multiple<int, string>(2, 5, 6);
		            var strmultiple = new multiple<string, double>("a1", "a2", "a3");
		            intmultiple.print();
		            strmultiple.print();
		            Console.ReadLine();
		}
	}
}

结果:
在这里插入图片描述

泛型(方法)

namespace Generic{
	static public void ReversePrint<T>(T[] arr)
        {
            Array.Reverse(arr);//反转整个一维数组元素的顺序
            foreach (T item in arr)
            Console.Write("{0},", item.ToString());
            Console.WriteLine();
        }
		class Program{
			static void Main(string[] args)
			{
				var intArray = new int[] { 6, 4, 9, 4, 6, 3 };
		            var stringArray = new string[] { "d1", "d3", "f3", "r4" };
		            var doubleArray = new double[] { 3.111, 4.485, 4.48644, 8.4996 };
		            Program.ReversePrint<int>(intArray);
		            Program.ReversePrint(intArray);
		        Console.ReadLine();
		}
	}
}

结果:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值