C# 泛型初探
初探的类:
public class TClass
{
/// <summary>
/// int参数
/// </summary>
/// <param name="iParameter"></param>
public static void ShowInt(int iParameter)
{
Console.WriteLine("这里是TClass ShowInt{0},类型为{1}",iParameter,iParameter.GetType());
}
/// <summary>
/// long参数
/// </summary>
/// <param name="lParameter"></param>
public static void ShowLong(long lParameter)
{
Console.WriteLine("这里是TClass ShowLong{0},类型为{1}", lParameter, lParameter.GetType());
}
/// <summary>
/// object参数
///Object类型是任何类型的父类
///任何父类出现的地方,都可以用子类来代替
/// </summary>
/// <param name="lParameter"></param>
public static void Showobject(object tParameter)
{
Console.WriteLine("这里是TClass Showobject{0},类型为{1}", tParameter, tParameter.GetType());
}
/// <summary>
/// T 参数(泛型)
/// </summary>
/// <param name="lParameter"></param>
public static void ShowGeneric<T>(T Parameter)
{
Console.WriteLine("这里是TClass ShowGeneric{0},类型为{1}", Parameter, Parameter.GetType());
}
/// <summary>
/// 泛型where T的约束,只可以进行T跟T父类的子类
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="tParameter"></param>
public static void ShowClass<T>(T tParameter) where T:People
{
tParameter.SayHi();
Console.WriteLine("{0},{1},{2}", tParameter.id, tParameter.age, tParameter.name);
}
}
调用方法:
int iValue = 123;
long lValue = 456789;
Console.WriteLine("-----------------ShowInt,ShowLong--------------------");
TClass.ShowInt(iValue);
TClass.ShowLong(lValue);
Console.WriteLine("-----------------object参数--------------------");
TClass.Showobject(iValue);
TClass.Showobject(lValue);
Console.WriteLine("-----------------T 参数(泛型)--------------------");
TClass.ShowGeneric(iValue);
TClass.ShowGeneric(lValue);
结果:
123,System.Int32
456789,System.Int64
C# 泛型初探的更多相关文章
- 【Java入门提高篇】Day14 Java中的泛型初探
泛型是一个很有意思也很重要的概念,本篇将简单介绍Java中的泛型特性,主要从以下角度讲解: 1.什么是泛型. 2.如何使用泛型. 3.泛型的好处. 1.什么是泛型? 泛型,字面意思便是参数化类型,平时 ...
- spring4泛型初探----一个小例子
泛型的出现,是为了让代码更规整. 例如 Set<String> set=new HashSet<>(); set.add("abc"); set.add(1 ...
- Java泛型初探
概述 泛型就是参数化类型,一提到参数,最熟悉的就是定义方法时有形参,然后调用此方法时传递实参,其实你回味一下这里.形参参数化的是变量的值,而如果你想参数化变量的类型,那就用到泛型了.同样的, 定义的时 ...
- Java笔记14:泛型初探
一.泛型简介 泛型是从Java SE 1.5开始出现的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数.这种参数类型可以用在类.接口和方法的创建中,分别称为泛型类.泛型接口.泛 ...
- .NET泛型初探
总所周知,.NET出现在.net framework 2.0,为什么要在2.0引入泛型那,因为微软在开始开发.net框架时并没有想过多个类型参数传输时对方法的重构,这样一来,开发人员就要面对传输多种类 ...
- Java语法糖3:泛型
泛型初探 在泛型(Generic type或Generics)出现之前,是这么写代码的: public static void main(String[] args) { List list = ne ...
- 唬人的Java泛型并不难
泛型 public interface Foo<E> {}public interface Bar<T> {}public interface Zar<?> {} ...
- Java之集合初探(二)Iterator(迭代器),collections,打包/解包(装箱拆箱),泛型(Generic),comparable接口
Iterator(迭代器) 所有实现了Collection接口的容器都有一个iterator方法, 用来返回一个实现了Iterator接口的对象 Iterator对象称作迭代器, 用来方便的实现对容器 ...
- Z从壹开始前后端分离【 .NET Core2.2/3.0 +Vue2.0 】框架之八 || API项目整体搭建 6.3 异步泛型仓储+依赖注入初探
本文梯子 本文3.0版本文章 回顾 1.Sqlsugar 的使用 2.修改数据连接字符串 今天要完成的浅紫色部分 一.设计仓储基类接口——IBaseRepository.cs 二.将其他的仓储接口,继 ...
随机推荐
- 关于 Equal Override Overload 和 IEquatable
namespace TestEqual { class Program { static void Main(string[] args) { Point2D a = new Point2D { X ...
- Struts拦截器使用
创建拦截器java程序 package cn.itcast.oa.util; import com.opensymphony.xwork2.ActionInvocation; import com.o ...
- CodeForces 660D Number of Parallelograms
枚举两点,确定一条线段,计算每条线段的中点坐标. 按线段中点坐标排个序.找出每一种坐标有几个. 假设第x种坐标有y个,那么这些线段可以组成y*(y-1)/2种平行四边形. 累加即可. #include ...
- AWK用法入门详解
简介 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再 ...
- H3C inode for OSX 10.10 校园网客户端亲测可用
1.打开终端 2.输入以下命令 sudo /library/StartupItems/iNodeAuthService/iNodeAuthService start 3.输入管理密码 4.打开客户端联 ...
- mysql show命令
MySQL中有很多的基本命令,show命令也是其中之一,在很多使用者中对show命令的使用还容易产生混淆,本文汇集了show命令的众多用法. 1. show tables或show tables fr ...
- lpc1788IO口模拟IIC
#ifndef __MYIIC_H_ #define __MYIIC_H_ #include "common.h" #include "delay.h" #in ...
- kvm下Windows激活方式小计
使用kvm创建widnwos镜像模板,镜像模板默认是已经激活的正版系统,但是使用程序拷贝部署到不同的机器后发现已经激活的系统变成未激活状态,我们需求就是需要拷贝到不同的机器也能显示是正版系统 网上找了 ...
- LPC2478的外部中断使用
LPC2478外部中断 2478的外部中断模型如下 也就是说,port0和2支持外部中断,EINT0-2是三个独立管脚的中断,而EINT3则是port0和2的所有中断共同拥有的向量 对于port0和2 ...
- Memcached源码分析之memcached.c
memcached.c 由于代码太多,在此省略了部分代码,例如UPD连接,二进制协议,某些错误输出和调试输出等,建议从main函数开始看起. #include "memcached.h&qu ...