C#中的ICollection是什么?
private void SendEmail(string host, int port,
string username, string password,
string from, string to,
string subject, string body,
ICollection<string> attachedFiles)
答案 0 :(得分:9)
ICollection<T>
接口是System.Collections.Generic
命名空间中的类的基本接口。
ICollection<T>
界面扩展IEnumerable<T>
,并由IDictionary<TKey, TValue>
和IList<T>
扩展。
IDictionary<TKey, TValue>
实现是键/值对的集合,如Dictionary<TKey, TValue>
类。
IList<T>
实现是值的集合,其成员可以通过索引访问,如List<T>
类。
答案 1 :(得分:6)
我认为OP实际上试图理解的是实现ICollection<string>
的原因,显然new ICollection<string>()
不会飞。
正如Micah所指出的那样,List<string>
实现了ICollection<string>
。如果你想知道还有什么,看看ILSpy,找到ICollectin<T>
类型,分析它,看看它实现了什么。以下是我的一些结果
......还有更多
此外,普通的'string
数组也实现了ICollection<string>
答案 2 :(得分:1)
答案 3 :(得分:1)
集合是一组具有相同类型的对象(示例中为字符串)。
任何类型的对象都可以分组为单个集合 键入Object以利用其中固有的构造 语言。例如,C#foreach语句(对于Visual中的每个语句) Basic)期望集合中的所有对象都是单一类型。
ICollection是集合的接口定义。