Kon*_*lph 27

使用接口的值始终相同:切换到另一个后端实现时,不必更改客户端代码.

考虑以后对代码进行概要分析表明,哈希表实现(在Dictionary类中使用)不适合您的任务,并且二进制搜索树的性能会更好.如果您已编码为接口,那么切换实现很简单.但是,如果你使用了一个具体的类,你必须在更多的地方更改更多的代码.=>这需要时间和金钱.


Arj*_*nbu 15

IDictionary可以实现更松散的耦合.

假设您有这样的方法:

void DoSomething(IDictionary<string, string> d)
{
   //...
}
Run Code Online (Sandbox Code Playgroud)

你可以像这样使用它:

Dictionary<string, string> a = new Dictionary<string, string>();
SortedDictionary<string, string> b = new SortedDictionary<string, string>();
DoSomething(a);
DoSomething(b);
Run Code Online (Sandbox Code Playgroud)