C#中 IEnumerable, ICollection, IList, List的使用
2024-08-23 04:32:58
List是類,實現了IList接口,IList繼承了ICollection,ICollection繼承了IEnumerable,IEnumerable是其中最底層的接口。
實現IEnumerable接口的類,可以使用foreach進行循環讀取。
實現ICollection接口的類,除了可以使用foreach讀取外,還可以直接讀取長度Count
實現IList接口的類,功能較強大,可以使用Add, Remove, Clear, Contain等method.
在傳遞function的參數時,可以使用接口類來提供靈活性。
例如,
private static void WriteContent(ICollection content)
{
foreach (var element in content)
{
if (element.GetType() == typeof(string))
Console.WriteLine(Convert.ToString(element));
if (element.GetType() == typeof(int))
Console.WriteLine(Convert.ToInt32(element) + );
}
} WriteContent(new List<string>() { "abc", "bcd", "def"});
WriteContent(new List<int>() { , , });
WriteContent(new string[] { "qwe", "wer", "ert"});
WriteContent(new int[] { , , });
注意,當使用IList來接收參數傳遞時,如果傳進來的是一個Array, 在function內部使用add, remove方法時,會有Exception.
最新文章
- 关于app隐私设置跳转
- 自己留存:小经验在asp.net 4.5或者asp.net mvc 5解决A potentially dangerous Request.Form value was detected from the client
- Space Ant---poj1696(极角排序)
- Codeforces Round #313 (Div. 2) D. Equivalent Strings
- BZOJ3676 [Apio2014]回文串
- 《zw版&#183;delphi与halcon系列原创教程》zw版_THOperatorSetX控件函数列表 v11中文增强版
- 对于cocos2d-x lua的防护措施
- StringBuilder 用法和div获取
- 《jQuery、jQuery UI及jQuery Mobile技巧与示例》勘误收集
- 《C#并行编程高级教程》第5章 协调数据结构 笔记
- NYOJ 491 幸运三角形
- Matalab之模糊KMeans实现
- javascript4
- HashMap 你真的了解吗?
- datagrid 新增,并行内编辑,提交保存
- 使用DD 创建SWAP
- Python中=、copy、deepcopy
- Django学习手册 - cookie / session
- IE8.0如何关闭启用内存保护帮助减少联机攻击?
- rpm -qa 查找文件
热门文章
- YAML_07 有报错信息,告诉你错误忽略,继续执行下面的命令
- regedit系统注册表,msconfig系统配置
- AJAX的具体使用
- 2017.10.6 国庆清北 D6T3 字符串
- 转载 | Python AI 教学│k-means聚类算法及应用
- establish状态,本地ip和端口连接本地ip端口可能是一样的。
- [昆仑会员卡系统]老会员数据导入 从临时表插入会员至member_info_svc表 SQL
- 《挑战30天C++入门极限》入门教程:实例详解C++友元
- CF1209题解
- 线程池(3)-参数-实现ThreadFactory