首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >迭代界变量?

迭代界变量?
EN

Stack Overflow用户
提问于 2012-05-04 17:14:36
回答 2查看 85关注 0票数 0

这不是特定于语言的,但我将在C#中使用示例。我经常面临这样的问题:我需要在至少一个参数的给定迭代中将一个parameter添加到object中,并且我总是要想出一个蹩脚的临时listarray,它与保持适当关联的问题相伴而来。

因此,请容许我列举以下例子:

  • 是否有一种更简单、更好的方法在C中完成这一任务?

列表storeStr;void AssignStringListWithNewUniqueStr (List aList) { foreach (String str in aList) { storeStr.add( str );str = AProcedureToGenerateNewUniqueStr();}} void PrintStringListWithNewUniqueStr (List aList) { int i= 0;foreach (String Str in aList) { print(str + storeStri);i++;} }

注意,上面的相关性是保证的,因为我正在迭代一个未修改的aList。当问到“更简单、更好的方法”时,我的意思是,它还应该确保storeStr总是与它在aList上的等效值相关联,同时保持它尽可能的简洁。List也可以是任何形式的arrayobject

  • 有可能使用这样的语言吗?它必须给出与上面相同的结果。

IterationBound storeStr;void AssignStringListWithNewUniqueStr (List aList) { foreach (String str in aList) { storeStr = str;str = AProcedureToGenerateNewUniqueStr();} void (List aList) { foreach (String str in aList) { print(str + storeStr);}

在这种情况下,虚构的"IterationBound“类将保证列表和新参数之间的相关性(在某种程度上,就像垃圾收集器保证分配一样)。它会注意到它是在迭代中创建的,并与特定的索引相关联(当然,不管语法是否更丑)。然后,当它在另一个迭代中再次被调用,并且它已经创建或存储在该特定索引中时,它将检索该迭代的这个特定值。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-05-04 17:19:01

为什么不简单地将您的枚举投影到一个新的表单中呢?

代码语言:javascript
运行
复制
var combination = aList
      .Select(x => new { Initial = x, Addition = AProcedureToGenerateNewUniqueStr() })
      .ToList()
      .ForEach(x =>
           { 
               print(x.Initial + x.Addition);
           });

这样,您就可以保留与新数据关联的每个元素。

票数 2
EN

Stack Overflow用户

发布于 2012-05-04 17:20:58

代码语言:javascript
运行
复制
aList.ForEach(x => print(x + AProcedureToGeneratorNewUniqueString()));
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10453297

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档