c# - C#:是否有 IList 的 HashSet 类比?
问题描述
当我使用未知类型的列表时,我可以像这样使用 IList 接口:
public void DoSomething(object o)
{
if (o is IList oAsList)
{
foreach (object listItem in oAsList)
Console.WriteLine(listItem.ToString());
oAsList.Clear();
Type typeOfList = oAsList.GetType().GetGenericArguments()[0];
oAsList.Add(GetRandomInstanceOfType<typeOfList>());
}
}
这显然不适用于 HashSet,因为没有像 IHashSet 这样的东西。我可以将它转换为 IEnumerable,但是我缺少我需要的 .Clear() 和 .Add() 之类的方法,因为我想将元素从任何类型的一个 HashSet 复制到该类型的另一个 HashSet。
如何使用 HashSets 做到这一点?
解决方案
推荐阅读
- c# - 在静态构造函数中或外部声明静态字段之间的区别
- ios - Flutter 上的 AirPlay IOS
- c# - 过滤包含所有节点和子节点的 TreeView
- html - 如何在 MaterializeCSS 中将 cols 放在一行的中心?
- python - 如何将数据从 python 传递到 html?
- automation - 如何在 cypress 中添加两个数据属性检查?
- markdown - 将代码块从 asciidoc 转换为 markdown
- c# - 如何对 ApplicationData.Current.LocalFolder (Storagefile) 中的 UWP 特定文件使用数据保护进行加密和解密?
- arrays - v-for 在 Vue 上返回空
- sql - 根据参数值修改 Fetchxml 查询