1
3
您必须定义自己的容器,可能会包装列表,以获得相等哈希等于(gethashcode和equals)的有用语义。如果你愿意的话,你甚至可以使包装符合IList。 为了避免可变问题和更改gethashcode/equals结果(这会使哈希字典中新对象的使用有问题!)您还应该提供某种保护(可能在创建类型时复制输入)和/或记录约束。 你可以使用 SequenceEqual 要实现equals相当琐碎,但您需要以相关的方式实现gethashcode——一个简单的方法是每个元素的gethashcode的移位xor。 或者,如果这只是在单个字典中使用,则可以提供自定义 IEqualityComparer 避免创建包装类型: Dictionary constructor overload . 这取决于你的最终目标是什么,而且很可能已经有了这样的包装容器:—) 注:在.net4中有一组 Tuple<...> classes 它重写gethashcode和equals。见 cadenza 作为早期.NET版本的第三方备选方案。 |
danial · 如何在多个字符串的每个位置找到最频繁的字符 2 年前 |
shekharsabale · 从列表元素捕获子字符串 2 年前 |
The Great · 拆分并存储数据帧,但名称基于特定列中的唯一值 2 年前 |
Klimt865 · Python中的列表列表 2 年前 |
Klimt865 · 在Python中将数组列表转换为列表列表 2 年前 |