相当于Javas Guavas Maps.uniqueIndex的C#

时间:2019-02-27 08:53:25

标签: java c# refactoring

番石榴具有静态方法

Maps.uniqueIndex(Iterable<V> values, Function<? super V,K> keyFunction) 

通过输入在各个元素上的输入函数的结果来映射输入集合中的每个条目。

是否有与 C#类似的模拟

Java 示例

Map<String, Human> idToHuman = Maps.uniqueIndex(humans, Human::getPassportId);

1 个答案:

答案 0 :(得分:2)

C#的情况下,我们有IEnumerable<V>而不是Iterable<V>,并且Dictionary的{​​{1}}无效。这就是为什么我们可以放入C#

Map

其中using System.Linq; ... Dictionary<K, V> result = values.ToDictionary(v => keyFunction(v)); 个元素valuesIEnumerable<V>keyFunction。就您而言,C#代码可以是这样的

Func<V, K>