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

Bar*_*art 13 c# interface

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

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

IinterfaceName1:为此

IinterfaceName2:为此

dah*_*byk 34

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

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

除此之外...

  • IComparable<T>IComparer<T>:用于广义排序
  • IEquatable<T>IEqualityComparer<T>:用于广义平等
  • IList<T>ICollection<T>:用于可变集合
  • IDictionary<T,K>:用于查找集合


Ter*_*lis 11

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


The*_*est 5

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

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

在这个例子中,过滤将在SQL Server上完成(涉及将Expression转换x => x.Workers.Count() > 10 && x.Status != 1为SQL语句的棘手机制)所以不需要编写自定义SQL命令来使用所有可能的数据源.

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