C#中最常用的接口是什么?

我尝试在C#中搜索最常用的内置接口,但找不到文章,所以我想我们可以回顾一下。

我们在答案中使用以下约定:

IinterfaceName1:为此

IinterfaceName2:为此

我认为最重要的两个是语言支持:

  • IEnumerable (和IEnumerable ):用于foreach和LINQ
  • IDisposable :用于需要清理的资源,与using一起using

除此之外…

  • IComparableIComparer :用于广义排序
  • IEquatableIEqualityComparer :用于广义相等
  • IListICollection :用于可变集合
  • IDictionary :用于查找集合

INotifyPropertyChange :用于WPF中的UI类的数据绑定,winforms和silverlight

IQueryable :允许您对可查询的数据源执行请求。 例如

  IQueryable projects = db.Projects; var selectedItems = projects .Where(x => x.Workers.Count() > 10 && x.Status != 1) .ToArray(); 

在这个例子中,过滤将在SQL Server上进行(涉及棘手的机制,将Expression x => x.Workers.Count() > 10 && x.Status != 1为SQL语句)因此无需编写自定义SQL命令使用所有可能的数据源。

也可以不仅用于SQL,你可以查询对象或其他任何东西,只需找到IQueryable