c#里面声明一个Dictionary和IDictionary有什么区别?

声明一个类和声明一个接口感觉没有多大的区别... 声明一个类和声明一个接口感觉没有多大的区别 展开
 我来答
以你之姓y
2020-04-11 · TA获得超过5990个赞
知道答主
回答量:196
采纳率:0%
帮助的人:4.5万
展开全部

c#里面声明一个Dictionary和IDictionary的区别:

Dictionary 这个是实体类,copy也就是说在这个类当中所有人的方法和属性都是已经实现了的。

IDictionary只是接供一个接口,你可以重写这个接口,来实现你自己的使用方式。接口在意义上是没什么用,但是在问对外的的项目上别人可以用这个的接口来实现对方的的使用方式,也可以在这个的类中继承用户的接口来实现。

Dictionary<string> s = new Dictionary<string>();这个是实例化一个类型为"string"的泛型类对象Dictionary。

IDictionary<string> s = new Dictionary<string>();这个是实例化一个类型为"string"的泛型接口对象IDictionary

扩展资料

c#里面,Dictionary的用法:

假如现在要导入一批数据,这些数据中有一个称为公司的字段是数据库里已经存在了的,目前需要把每个公司名字转为ID后才存入数据库。

每导入一笔记录的时候,就把要把公司的名字转为公司的ID,这个不应该每次都查询一下数据库的,因为这太耗数据库的性能了。

解决方案:在业务层里先把所有的公司名称及相应的公司ID一次性读取出来,然后存放到一个Key和Value的键值对里,然后实现只要把一个公司的名字传进去,就可以得到此公司相应的公司ID,就像查字典一样。可以使用字典Dictionary操作这些数据。

epldlnwynn
2009-03-17 · TA获得超过149个赞
知道小有建树答主
回答量:192
采纳率:0%
帮助的人:155万
展开全部
Dictionary 这个是实体类,也就是说在这个类当中所有人方法和属性都是已经实现了的。

而IDictionary只是接供一个接口,你可以重写这个接口,来实现你自己的使用方式。

接口在意义上是没什么用,但是在对外的的项目上别人可以用你的接口来实现他自己的使用方式,也可以在他的类中继承你的接口来实现。
比如:
class Test
{
public string GetTest()
{
return "aaa";
}
}
public interface ITest
{
string GetTest();
}

class ATest:ITest
{
public string GetTest()
{
return "ccc";
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ThinkIBM
推荐于2017-11-29 · TA获得超过5289个赞
知道大有可为答主
回答量:3263
采纳率:0%
帮助的人:5470万
展开全部
什么意思?
Dictionary是类(可以实例化),而IDictionary是接口(不能实例化),
Dictionary类实现了IDictionary接口而已

至于声明,当然也有区别,比如Dictionary类还实现了ISerializable、IDeserializationCallback接口
如果你要用到这2个接口的方法,就不能声明为IDictionary
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wings8912
2009-03-17
知道答主
回答量:30
采纳率:0%
帮助的人:10.3万
展开全部
类我就不说了!

IDictionary接口是所有字典类集合的基本接口,该接口与ICollection,IEnumerable接口是所有非泛型类集合的最基本的接口

IEnumerable接口用于公开枚举数,该枚举数支持在非泛型集合上进行简单迭代。实现了该接口的集合可以用foreach语句迭代其中的元素

ICollection接口定义所有非泛型集合的大小、枚举数和同步方法。

IDictionary接口表示键/值对的非通用集合,是所有字典类集合的基接口
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
犄角桃
2009-03-17 · TA获得超过1139个赞
知道小有建树答主
回答量:287
采纳率:0%
帮助的人:361万
展开全部
类是单继承 接口是多继承
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式