迭代器的介绍及游戏商城的介绍



迭代器概述

    迭代器是方法、 get  访问器或运算符,它使您能够在 结构 中支持  foreach  迭代,而不必实现整个 IEnumerable  接口。您只需提供一个迭代器,即可遍历类中的数据结构。当编译器检测到迭代器时,它将自动生成  IEnumerable  或 IEnumerable <T> 接口的 Current MoveNext  和 Dispose  方法。

迭代器的作用
  • 迭代器是可以返回相同类型的值的有序序列的一段代码。

  • 迭代器可用作方法、运算符或 get 访问器的代码体。

  • 迭代器代码使用 yield return 语句依次返回每个元素。yield break 将终止迭代。有关更多信息,请参见 yield

  • 可以在类中实现多个迭代器。每个迭代器都必须像任何类成员一样有唯一的名称,并且可以在 foreach 语句中被客户端代码调用,如下所示:foreach(int x in SampleClass.Iterator2){}

  • 迭代器的返回类型必须为 IEnumerableIEnumeratorIEnumerable<T> 或 IEnumerator<T>。

yield 关键字用于指定返回的值。到达 yield return 语句时,会保存当前位置。下次调用迭代器时将从此位置重新开始执行。

迭代器对集合类特别有用,它提供一种简单的方法来迭代不常用的数据结构(如二进制树)。

例如:

List<Person> list = new List<Person>();

            Person p = new Person();

            p.Name = "zhangsan";

            //p.SetName("zhangsan");

            list.Add(p);

IEnumerator<Users> it = list.GetEnumerator();

            while(it.MoveNext()){

            Console.WriteLine(it.Current.Name);

            }

游戏商城部分功能的说明:

1、管理员的操作:管理员登陆后对装备的增删改查、对用户的查删、对购物车的查删以及修改密码

2、用户的操作:用户注册登录后对装备的查买、对购物车的增删改查及修改密码

对象属性:

管理员:编号,姓名,密码

用户:编号,姓名,密码

装备:编号,名称,单价,数量,说明

购物车:编号,总数量,总价格,用户(外键uid),装备(外键eid)

项目中用到的技术有:封装、数据库的增删改查、数据库的基本语句和对表联结、控制台、集合、泛型、迭代器

界面流程:1管理员操作-----登录------(1对装备操作,2对用户的操作,3对购物车的操作,4修改密码)

                 2用户的操作-----注册---登录----(1对装备的操作,2对购物车的操作,3修改密码)

迭代器概述

    迭代器是方法、 get  访问器或运算符,它使您能够在 结构 中支持  foreach  迭代,而不必实现整个 IEnumerable  接口。您只需提供一个迭代器,即可遍历类中的数据结构。当编译器检测到迭代器时,它将自动生成  IEnumerable  或 IEnumerable <T> 接口的 Current MoveNext  和 Dispose  方法。

迭代器的作用
  • 迭代器是可以返回相同类型的值的有序序列的一段代码。

  • 迭代器可用作方法、运算符或 get 访问器的代码体。

  • 迭代器代码使用 yield return 语句依次返回每个元素。yield break 将终止迭代。有关更多信息,请参见 yield

  • 可以在类中实现多个迭代器。每个迭代器都必须像任何类成员一样有唯一的名称,并且可以在 foreach 语句中被客户端代码调用,如下所示:foreach(int x in SampleClass.Iterator2){}

  • 迭代器的返回类型必须为 IEnumerableIEnumeratorIEnumerable<T> 或 IEnumerator<T>。

yield 关键字用于指定返回的值。到达 yield return 语句时,会保存当前位置。下次调用迭代器时将从此位置重新开始执行。

迭代器对集合类特别有用,它提供一种简单的方法来迭代不常用的数据结构(如二进制树)。

例如:

List<Person> list = new List<Person>();

            Person p = new Person();

            p.Name = "zhangsan";

            //p.SetName("zhangsan");

            list.Add(p);

IEnumerator<Users> it = list.GetEnumerator();

            while(it.MoveNext()){

            Console.WriteLine(it.Current.Name);

            }

游戏商城部分功能的说明:

1、管理员的操作:管理员登陆后对装备的增删改查、对用户的查删、对购物车的查删以及修改密码

2、用户的操作:用户注册登录后对装备的查买、对购物车的增删改查及修改密码

对象属性:

管理员:编号,姓名,密码

用户:编号,姓名,密码

装备:编号,名称,单价,数量,说明

购物车:编号,总数量,总价格,用户(外键uid),装备(外键eid)

项目中用到的技术有:封装、数据库的增删改查、数据库的基本语句和对表联结、控制台、集合、泛型、迭代器

界面流程:1管理员操作-----登录------(1对装备操作,2对用户的操作,3对购物车的操作,4修改密码)

                 2用户的操作-----注册---登录----(1对装备的操作,2对购物车的操作,3修改密码)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在C#中,迭代器是一种方便的机制,可以用来遍历集合,例如数组、列表、字典等。迭代器允许您在不必将整个集合载入内存的情况下,按需访问集合中的每个元素。 使用迭代器,您可以定义一个方法或属性,该方法或属性返回一个IEnumerable 或 IEnumerator 对象。在返回枚举器对象时,您可以指定要在循环中返回的每个元素。在使用迭代器时,您可以使用foreach语句来循环遍历集合中的元素,而无需手动迭代集合。 下面是一个简单的示例,展示了如何在C#中使用迭代器: ```csharp using System; using System.Collections; public class MyCollection { private int[] items = { 1, 2, 3, 4, 5 }; public IEnumerator GetEnumerator() { for (int i = 0; i < items.Length; i++) { yield return items[i]; } } } class Program { static void Main(string[] args) { MyCollection collection = new MyCollection(); foreach (int item in collection) { Console.WriteLine(item); } } } ``` 在这个示例中,我们定义了一个 MyCollection 类,该类包含一个私有整数数组 items。我们还定义了一个 GetEnumerator() 方法,并使用 yield 关键字返回枚举器对象。在 foreach 循环中,我们遍历集合并打印出每个元素。 迭代器是一种非常有用的机制,特别是在处理大型数据集合时。使用迭代器,您可以按需访问集合中的每个元素,而无需在内存中保存整个集合。这使得迭代器成为一种高效的机制,可在需要时提高性能并减少内存占用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值