Skip to main content
 首页 » 编程设计

c#之在 C# 中修改集合的模式是什么

2024年01月29日2852php

这种问题的模式(最佳实践)是什么——修改集合中的元素(值)?

条件:

  • 集合的大小没有改变(没有元素被删除或添加)
  • 修改到位

在 C++ 中,这很简单也很好,我只是遍历一个集合并更改元素。但在 C# 中迭代​​(使用枚举器)是只读操作(就 C++ 而言,只有 const_iterator 可用)。

那么,如何在 C# 中执行此操作?

示例:将“1,2,3,4”修改为“1,2,8,9”而不是“1,2,3”或“1,2,3,4, 5".

请您参考如下方法:

通常你会通过索引来代替:

for (int i = 0; i < foo.Length; i++) 
{ 
    if (ShouldChange(foo[i])) 
    { 
        foo[i] = GetNewValue(i); 
    } 
} 

一个更实用的替代方法是创建一个方法,该方法返回一个新集合,其中包含所需的“修改后的”数据——但这完全取决于您想要做什么。