【发布时间】:2020-05-14 14:20:12
【问题描述】:
我正在尝试根据 HashSet<string> 的内容向其添加值。
我希望代码看起来像这样:
public static void AddModifiedValues(HashSet<string> properties)
{
if (properties is null)
{
return;
}
foreach (var element in properties)
{
result.Add(element + "id");
}
}
这里的问题是,当我修改我正在迭代的集合时,我显然遇到了一个异常。
当前代码最终看起来像这样:
//different signature
public static HashSet<string> AddModifiedValues(HashSet<string> properties)
{
//allocation
var result = new HashSet<string>();
if (properties is null)
{
return result;
}
foreach (var element in properties)
{
result.Add(element);
result.Add(element + "id");
}
return result;
}
有没有办法在不分配新 HashSet 的情况下完成我正在寻找的事情?
【问题讨论】:
标签: c# collections hashset