请选择 进入手机版 | 继续访问电脑版

唐康林NX二次开发论坛

 找回密码
 立即注册
搜索
热搜: nxopen ufun
查看: 393|回复: 6

[技术分享] C#迭代器原理及NX二次开发使用迭代器方法!

[复制链接]

416

主题

527

帖子

2082

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2082
发表于 2017-7-11 10:14:11 | 显示全部楼层 |阅读模式
我们先来看一下C#中,迭代器的原理,来一个例子。
  1. //C#迭代器原理
  2. int[] numbers = { 1, 2, 3, 4, 5, 6, 7};
  3. IEnumerator it1 = numbers.GetEnumerator();
  4. theSession.ListingWindow.Open();
  5. while (it1.MoveNext())
  6. {
  7.     theSession.ListingWindow.WriteLine(it1.Current.ToString());
  8. }
复制代码
上面这个例子意思:定义了一个整形数组,然后通过循环将它里面的值打印出来,用到的就是数组中的迭代器,但是这样去写代码,稍微麻烦了一点,所以C#里面有一个独有的东西,就是foreach
所以我们可以简化代码为下面这样:
  1. int[] numbers = { 1, 2, 3, 4, 5, 6, 7};
  2. theSession.ListingWindow.Open();
  3. foreach (var item in numbers)
  4. {
  5.     theSession.ListingWindow.WriteLine(item.ToString());
  6. }
复制代码
接下来问题来了,我们在NX二次开发的时候,我也是要不断的使用迭代器的,比如,我们想遍历出工作部件中,体的标识出来,
那在C#二次开发时,又如何使用这个迭代器呢?
我写了一个例子如下:
游客,如果您要查看本帖隐藏内容请回复




回复

使用道具 举报

6

主题

19

帖子

323

积分

终身VIP会员

Rank: 6Rank: 6

积分
323
发表于 2017-7-11 12:56:04 | 显示全部楼层
看看....
回复

使用道具 举报

6

主题

19

帖子

323

积分

终身VIP会员

Rank: 6Rank: 6

积分
323
发表于 2017-7-11 13:09:18 | 显示全部楼层
foreach 应用范围小. 运行效率不会比for高, 得看什么数据类型.  for直观通杀所有循环.
回复 支持 反对

使用道具 举报

0

主题

4

帖子

105

积分

初中生

Rank: 2

积分
105
发表于 2017-7-13 14:16:10 | 显示全部楼层
看看怎么样!
回复 支持 反对

使用道具 举报

0

主题

1

帖子

11

积分

小学生

Rank: 1

积分
11
发表于 2017-7-15 08:23:12 | 显示全部楼层
学习学习
回复

使用道具 举报

0

主题

1

帖子

25

积分

小学生

Rank: 1

积分
25
发表于 2017-8-5 22:59:44 | 显示全部楼层
看看有没有惊喜
回复 支持 反对

使用道具 举报

0

主题

1

帖子

11

积分

小学生

Rank: 1

积分
11
发表于 2018-1-22 17:59:06 | 显示全部楼层
看看,学习一个,哈哈哈哈
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋| ( 蜀ICP备16014681号

GMT+8, 2018-2-24 15:41 , Processed in 0.086359 second(s), 24 queries .

Powered by www.nxopen.cn

© 2001-2013 nxopen.cn

快速回复 返回顶部 返回列表