c#的迭代器(泛型的)
来源:互联网 发布:知画和小燕子谁大谁小 编辑:程序博客网 时间:2024/04/29 07:47
泛型类Program2<T> 必须满足3个条件
1,实现IEnumerable<T>接口。
2,实现IEnumerable<T>接口的GetEnumerator()方法。
3,实现IEnumerable接口的GetEnumerator()方法。
【转的代码】
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Collections;public class Program2<T>:IEnumerable<T>{ Stack stack; public Program2() { stack = new Stack(); //构造函数初始化了stack字段 } public void Push(T item){stack.Push(item);} //将item元素压入到stack堆栈中 public T Pop(){return (T)stack.Pop();} //弹出stack堆栈的顶部元素 //-----------------实现IEnumerable<T>接口的GetEnumerator()方法 public IEnumerator<T> GetEnumerator() { while(stack.Count > 0) { yield return (T)stack.Pop(); //使用yield return语句产生迭代器的元素 } } //----------------实现IEnumerable接口的GetEnumerator()方法 IEnumerator IEnumerable.GetEnumerator() { return GetEnumerator(); }} class Test { static void Main() { Program2<int> p = new Program2<int>(); for (int i = 0; i < 10; i++) { p.Push(i); } foreach (int m in p) { Console.Write(m+" "); } Console.ReadLine(); } }
0 0
- c#的迭代器(泛型的)
- C#的泛型
- c#的泛型
- c# 泛型的理解(转)
- C#泛型的学习体会
- c#泛型的使用
- C#的泛型机制
- C#泛型的优势
- C#泛型的优势
- c#泛型的使用
- C#泛型的优点
- c# 泛型的学习
- C#泛型的研究
- C# 的泛型详解
- C#泛型的初始化
- C#的泛型约束-
- c#的迭代器(非泛型的)
- C#迭代器的实现
- C++中,cout操作符求值顺序
- android中跨进程通讯的4种方式
- 小波去噪
- Bellman-ford算法
- 我的PHP编程进化-----怎样快速 高效率 开发 高可靠性 代码
- c#的迭代器(泛型的)
- One Issue In OpenGL Lighting applying glLightf(v)()
- STL系列之二 stack栈
- 《算法概论》第一周作业
- Rotation By Quaternion
- STL系列之三 queue 单向队列
- ASP.NET偷懒之C#代码生成器大全
- 配置开发环境和Android Tools
- QT Model/View