.NET复习笔记-泛型
2024-10-19 07:33:33
1.yield关键字用于返回迭代器具体的值,如下框代码所示
/// 返回0~9整数集合
public static IEnumerable<int> yieldSampleMethod()
{
int index = ;
while (index < )
yield return index++;
}
2.泛型约束
约束 描述
where T: struct 类型参数必须为值类型。
where T : class 类型参数必须为引用类型。
where T : new() 类型参数必须有一个公有、无参的构造函数。当于其它约束联合使用时,new()约束必须放在最后。
where T : <base class name> 类型参数必须是指定的基类型或是派生自指定的基类型。
where T : <interface name> 类型参数必须是指定的接口或是指定接口的实现。可以指定多个接口约束。接口约束也可以是泛型的。
3.泛型代码中的 default 关键字
对于一个参数化类型T的变量t,仅当T是引用类型时,t = null语句才是合法的; t = 0只对数值的有效,而对结构则不行。这个问题的解决办法是用default关键字,它对引用类型返回空,对值类型的数值型返回零。而对于结构,它将返回结构每个成员,并根据成员是值类型还是引用类型,返回零或空。
public class MyList<T>
{
public T GetNext()
{
T temp = default(T);
if (current != null)
{
temp = current.Data;
current = current.Next;
}
return temp;
}
}
最新文章
- JavaScript dom 标签属性
- Maven创建工程 WEB
- Mac eclipse 导入文件夹
- Android反编译(一)之反编译JAVA源码
- Python学习笔记16—电子表格
- [Angular 2] Rendering an Observable Date with the Async and Date Pipes
- PHP 魔术常量__FUNCTION__与__METHOD__的区别
- 基于AngularJS的前端云组件最佳实践
- Python自动化--语言基础2--运算符、格式化输出、条件语句、循环语句、列表、元组
- Java进阶篇设计模式之三 ----- 建造者模式和原型模式
- Moq 在.net Core 单元测试中的使用
- 下载 youtube 油管的视频
- ReactRouter升级 v2 to v4
- C#二分查找算法设计实现
- 隔行变色---简单的css js控制table隔行变色
- ElasticSearch 笔记
- python数据分析scipy和matplotlib(三)
- 树莓派UFW防火墙简单设置
- ServiceStack DotNet Core前期准备
- 固定尺寸内存块的缓冲队列类及C++实现源代码