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;
        }
}

最新文章

  1. JavaScript dom 标签属性
  2. Maven创建工程 WEB
  3. Mac eclipse 导入文件夹
  4. Android反编译(一)之反编译JAVA源码
  5. Python学习笔记16—电子表格
  6. [Angular 2] Rendering an Observable Date with the Async and Date Pipes
  7. PHP 魔术常量__FUNCTION__与__METHOD__的区别
  8. 基于AngularJS的前端云组件最佳实践
  9. Python自动化--语言基础2--运算符、格式化输出、条件语句、循环语句、列表、元组
  10. Java进阶篇设计模式之三 ----- 建造者模式和原型模式
  11. Moq 在.net Core 单元测试中的使用
  12. 下载 youtube 油管的视频
  13. ReactRouter升级 v2 to v4
  14. C#二分查找算法设计实现
  15. 隔行变色---简单的css js控制table隔行变色
  16. ElasticSearch 笔记
  17. python数据分析scipy和matplotlib(三)
  18. 树莓派UFW防火墙简单设置
  19. ServiceStack DotNet Core前期准备
  20. 固定尺寸内存块的缓冲队列类及C++实现源代码

热门文章

  1. Data Block -- Uncompressed
  2. laravel框架的注入
  3. nginx配置二级目录,反向代理不同ip+端口
  4. elementUi中input输入字符光标在输入一个字符后,光标失去焦点
  5. oracle创建删除表空间
  6. Envoy 源码分析--network L4 filter manager
  7. 小程序批量获取input的输入值,监听输入框,数据同步
  8. java 使用GET请求编码问题解决
  9. Druid(新版starter)在SpringBoot下的使用以及优点
  10. 移动端根据dpr适配