VisualC#2.0泛型编程基础

VisualC#2.0泛型编程基础,第1张

VisualC#2.0泛型编程基础,第2张

最近频繁接触仿制药的问题,不得不了解一下。起初,我从MSDN的网上下载了教学视频来观看(李建中先生)。本文先介绍一下关于仿制药入门的知识,希望刚开始学仿制药的朋友能更快上手,言归正传。首先,让我们看看泛型的基本概念。

最显著的一点是,它将类型参数化,将类型抽象为参数,这样我们在实际应用中可以更好地实现代码重用。同时,它提供了更强的类型安全性和更高的效率。但在约束方面,只支持显式约束,灵活性较差。我认为它可以提供更高的效率,因为泛型在实例化时采用了“按需”模式,即按需实例化,这发生在JIT(Just In Time)编译时。

让我们看看如何定义一个泛型类。很简单。你只需要意识到这里,类型已经被参数化了:

使用系统;
使用系统。集合。泛型;
使用系统。文本;

命名空间一般测试
{
类程序
{
static void main(string[]args)
{
/使用string,int实例化测试类
test t = new

//调用泛型类中的方法
t . SetValue();
}
}

/* *////
//定义一个具有两个类型参数的泛型类,即T,S
//http://pw . cn blogs . com
/
//类型参数。
private的年龄;

公测(T Name,S Age)
{
this . Name = Name;
this . Age = Age;
}

public void SetValue()
{
Console。WriteLine(名称。ToString());
控制台。WriteLine(年龄。ToString());
}
}
}

上面的例子不太恰当。目的是让你这个泛型初学者了解泛型的定义和实例化方法。如上,我们定义了一个泛型类,那么如何实现泛型类的继承呢?在这里,你需要满足以下两点中的任何一点:

1.在泛型类继承中,父类的类型参数已被实例化。在这种情况下,子类不必是泛型类;

2.父类的类型参数不是实例化的,而是来自子类,也就是说,父类和子类都是泛型类,它们有相同的类型参数;

//如果这样写,显然会报错找不到类型T,S
公共类test child: test {}

//正确的拼写应该是
public class test child:test { }
public class test child:test { }
public class test child:test { }

让我们来看看通用接口。它的创建和继承规则与上面提到的泛型类相同。请看下面的代码:

公共接口IList
{
T[]get elements();
}
公共接口IDictionary
{
void Add(K key,V value);
}

//泛型接口的类型参数要么实例化
//要么派生自实现类
Classlist: ilist,idictionary
{
public t[]get elements(){ return null;}
public void Add(int index,T value)
{}
}

让我们来看看泛型委托。首先,我们定义一个类型参数为T的委托,然后使用该委托调用类中的方法:

使用系统;
使用系统。集合。泛型;
使用系统。文本;

命名空间泛型测试
{
//定义具有类型参数T和返回值类型T的委托
//泛型委托支持对返回值和参数应用类型参数
委托字符串泛型删除(tvalue);

类测试
{
静态字符串F(int I){ return " shy 520 ";}
静态字符串G(字符串s){ return " shy 520 ";}

static void Main(string[]args)
{
generic delete G1 = G;
generic delete G2 = new generic delete(F);
}
}
}

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » VisualC#2.0泛型编程基础

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情