相关疑难解决方法(0)

C#中的双向1对1字典

我正在寻找C#(2)中的通用双向1到1字典类,即.a BiDictionaryOneToOne<T, S>保证只包含每个值和键中的一个(无论如何最多为RefEquals),并且可以使用键或值进行搜索.有人知道,或者我应该自己实施吗?我不敢相信我是第一个需要这个的人......

这个问题的答案中有一个BiDictionary ,但它不适用于唯一元素(并且也不实现RemoveByFirst(T t)或RemoveBySecond(S s)).

谢谢!

.net c# collections

98
推荐指数
3
解决办法
2万
查看次数

如何在一个接口中两次使用具有不同模板参数的相同接口?

我想通过这个例子会更清楚。我们希望在处理器类中看到两个具有不同参数的方法。“ int处理(int值);” “双重处理(双重价值);”

但是编译器对IRoot说:'Generics.IRoot'不能同时实现'Generics.IProcess'和'Generics.IProcess',因为它们可能会为某些类型参数替换统一。

public class Processor : IRoot<int, double, int, double>
{
    // Here we want 2 methods
    public int Process(int item) { }
    public double Process(double item) { }
}

public interface IProcess<TResult, TItem>
{
    TResult Process(TItem item);
}

public interface IRoot<TR1, TR2, TItem1, TItem2> :
    IProcess<TR1, TItem1>,
    IProcess<TR2, TItem2>
{

}
Run Code Online (Sandbox Code Playgroud)

c# generics

5
推荐指数
2
解决办法
1966
查看次数

标签 统计

c# ×2

.net ×1

collections ×1

generics ×1