例如:
void FilterA(Hashset<T> blackList, List<T> myList)
{
blackList.UnionWith(myList);
}
Run Code Online (Sandbox Code Playgroud)
我不知道是否会有一些好的编码风格分开blackList和myList分开.还是有必要的?
在良好实践方面 - 在您的具体情况下,我会抛弃这种方法.实现一个只包含单个框架方法(HashSet<T>.UnionWith)的方法实际上除了模糊代码之外什么都不做.
但是,总的来说,我认为文档和命名是关键.如果你的方法名称更清楚,那就很明显了.考虑这种方法 - FilterA实际上建议您"过滤"集合,而不是根据第二个集合向其添加项目.
此外,使用适当的接口,例如IEnumerable<T>,而不是传递具体的类(List<T>)可以帮助区分事物.如果传递则尤其如此IEnumerable<T>,因为这是一个不公开任何编辑操作的接口.