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

时间:2010-11-21 21:23:37

标签: c# interface

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

让我们在答案中使用以下惯例:

IinterfaceName1:对于此

IinterfaceName2:用于那个

3 个答案:

答案 0 :(得分:34)

我认为前两位必须是语言支持的人:

  • IEnumerable<T>(和IEnumerable):for 与foreach和LINQ
  • 一起使用
  • IDisposable:需要资源 清理,与using
  • 一起使用

除此之外......

  • IComparable<T>IComparer<T>:用于广义排序
  • IEquatable<T>IEqualityComparer<T>:for generalized equality
  • IList<T>ICollection<T>:for mutable collections
  • IDictionary<T,K>:用于查找集合

答案 1 :(得分:11)

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

答案 2 :(得分:5)

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

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

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

不仅可以用于SQL,还可以查询对象或其他任何内容,只需找到IQueryable<T>的实现